繁体   English   中英

PowerShell无法开始工作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM