[英]Waiting in PowerShell for all child processes to finish
我想同時在PowerShell中執行多個外部腳本,然后等待所有這些腳本完成后再繼續。 目前我正在使用'start-process -NoNewWindow ...'命令行開關,它循環遍歷所有子進程,但隨后終止。
我找到了很多方法等待1個進程完成(這顯然是微不足道的)但是它們似乎都不能解決我的問題。
在PowerShell中擁有UNIX版本的等價物肯定是我想要的。
並且不要忘記可能是為多個進程執行此操作的最直接的方法 - Wait-Process
例如:
$procs = $(Start-Process Notepad.exe -PassThru; Start-Process Calc.exe -PassThru)
$procs | Wait-Process
您是否檢查了PowerShell v2中的后台作業功能?
$job = Start-Job -Name "Proc1" -ScriptBlock { Sleep 10000 }
Wait-Job -Job $job
此外,Start-Process有一個名為-wait的參數。 指定后,Start-Process將等待子進程退出。
Start-Process -FilePath calc.exe -Wait
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.