我想推出一个长期运行的远程程序,但不想等待。所以我在PS脚本文件中放入一行命令并运行" Powershell -file xxx.ps1"
Invoke-command server1 {xxx.exe} -AsJob
但是脚本运行后远程程序没有运行,但是如果我以交互方式在PS控制台上运行命令,则远程程序运行正常。似乎程序在脚本终止时被终止。
为什么会这样?
更新
如果我在脚本结束时睡1秒钟,那么远程应用程序运行良好。
答案 0 :(得分:1)
最好的方法是使用Wait-Job。它将等待您启动的工作,直到完成。否则脚本就会关闭,可能是在完全连接之前。
如果您想等待在后台运行的所有作业完成,您可以使用:
Invoke-command server1 {xxx.exe} -AsJob
Get-Job | Wait-Job