powershell 为什么启动同一个exe时,start-job会取消上一个作业?

fnatzsnv  于 11个月前  发布在  Shell
关注(0)|答案(1)|浏览(123)

我想在一个循环中每次都用不同的并行参数执行相同的 exe
所以我决定使用Start-Job,但是当我尝试它时,我意识到当第二个示例启动时,第一个示例被取消了:

foreach($name in $insanceNames)
{
   Start-Job -ScriptBlock { & "C:\program.exe" $args } -ArgumentList /instName,$name
}

字符串
当第二个示例启动时,第一个示例被中断,没有错误。
如果我通过两个控制台手动并行执行同一个程序,就不会有这个问题。
注意:我不能只使用“&”启动程序,因为我需要在不等待先前示例完成的情况下运行它们。

ax6ht2ek

ax6ht2ek1#

最后,我把Start-Job改成了Start-Process,它就像我预期的那样工作了。
我正在寻找this postStart-Process之间的区别,我不明白为什么Start-Job停止前一个示例,而Start-Process保持所有预期的示例。
不过,我解决了我的问题。

相关问题