[英]PowerShell won't start job
我有以下PowerShell 5程序:
$job = Start-Job -ScriptBlock {timeout.exe 10 /NOBREAK}
Wait-Job $job
当我运行它时,它立即终止,并显示以下输出:
Id Name PSJobTypeName State HasMoreData Location Command -- ---- ------------- ----- ----------- -------- ------- 1 Job1 BackgroundJob Completed True localhost timeout.exe 10 /NOBREAK
并且timeout.exe
不会出现在任务管理器中。
为什么不等待10秒才终止? 当我在作业外部调用timeout.exe 10 /NOBREAK
,它确实等待10秒钟,就像在作业中调用Start-Sleep 10
。
我不是在寻找解决同一问题(睡眠)的其他方法,而是在寻找该程序为何以其行为方式的答案。
这里的问题是要让timeout.exe捕获Ctrl + C,它将重定向输入,这在后台作业中不起作用。 显然,如果您只想睡觉,那么Start-Sleep就可以了。
您可以通过执行以下操作来查看作业的输出以及错误消息:
Receive-Job 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.