我可以在UNIX上啓動一個持久的過程有:如何PSRemote開始procdump,使得它在會議結束後仍然存在結束
nohup process &
它將繼續運行後關閉我的bash會話。我似乎無法在Windows上執行PowerShell遠程處理。我可以用服務器打開一個PSRemote會話並啓動一個進程,但只要關閉該會話,它就會消失。我的假設是這是一個強大的沙箱的好處,但這是一個好處,我寧願工作在某種程度上。有任何想法嗎?
到目前爲止,我已經試過:
$exe ='d:\procdump.exe'
$processArgs = '-ma -e -t -n 3 -accepteula w3wp.exe d:\Dumps'
1) [System.Diagnostics.Process]::Start($exe,$processArgs)
2) Start-Job -ScriptBlock {param($exe,$processArgs) [System.Diagnostics.Process]::Start($exe,$processArgs)} -ArgumentList ($exe,$processArgs)
3) start powershell {param($exe ='d:\procdump.exe', $processArgs = '-ma -e -t -n 3 -accepteula w3wp.exe d:\Dumps') [System.Diagnostics.Process]::Start($exe,$processArgs)}
4) start powershell {param($exe ='d:\procdump.exe', $processArgs = '-ma -e -t -n 3 -accepteula w3wp.exe d:\Dumps') Start-Job -ScriptBlock {param($exe,$processArgs) [System.Diagnostics.Process]::Start($exe,$processArgs)} -ArgumentList ($exe,$processArgs)}
程序運行起來,直到我關閉會話,那麼procdump收割。關於procdump最酷的事情是它會自我終止,我想離開它利用這一事實。
我一直在遠程啓動ADPlus,打開會話,並終止會話以終止捕獲。這很方便,但是它需要進行非常多的輪詢,檢查和決定在填滿硬盤驅動器之前殺死捕獲進程的適當時機,但是捕獲足夠的轉儲纔能有用。我可以讓procdump無限期地運行,同時等待適當的觸發器,並且當它捕獲足夠的數據時它就會死掉。這是可愛的。
我只需要讓procdump在我終止遠程會話後繼續運行。這可能不值得創建一個procdump計劃任務並啓動它,但這是我剩下的最後一個想法。
謝謝。