因此,在我看來,PowerShell作業只有一個無證的停止超時。我確認我的程序沒有崩潰,遠程服務只是在3-4小時後將其殺死。或者也許它是一個操作系統的東西 - 我不知道。
我切換到psexec它不惹的過程 - 在這裏就是命令:
psexec \\DEPLY -accepteula -d -u "corp\administrator" -p "xxx" C:\Deply\${bamboo.Configuration}\Seed\Seed.exe /y
您還可以通過WMI啓動它,像這樣:
$process = get-wmiobject -query "SELECT * FROM Meta_Class WHERE __Class = 'Win32_Process'" -namespace "root\cimv2" -computername DEPLY -credential $cred $results = $process.Create("C:\Deply\${bamboo.Configuration}\Seed\Seed.exe /y")
但我無法確認這種方式創建的遠程過程是否會持續下去。每個測試需要4個小時,我完成了這個。
相關:無限期運行Launching background tasks in a remote session that don't get killed when the session is removed
AFAIK的工作,這也是在'等待,Job'參數'-Timeout'說。該參數默認值爲'-1',所以它應該繼續等待。你確定你的'Seed.exe'不是一段時間後停止工作的人嗎? – DarkLite1
是的 - 那裏真的有白色的(真的)..大聲笑。我也將日誌文件寫入磁盤,沒有例外或奇怪的行爲..它只是靜靜地關閉。 – Charles
如果你想確定它是否是'Seed.exe'而不是停止作業,你可以在作業之後放置一些代碼。並用'Get-Job |檢查Receive-Job「,以查看是否在輸出中看到最後一段代碼。如果不是,那麼你知道這是'Seed.exe'崩潰。 「Try/Catch」可能是一個選項。 – DarkLite1