首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PowerShell中等待所有子进程完成

在PowerShell中等待所有子进程完成
EN

Stack Overflow用户
提问于 2011-02-14 17:19:35
回答 2查看 23.9K关注 0票数 19

我想在PowerShell中同时执行多个外部脚本,然后等待它们全部执行完毕后再继续。目前我使用的是'start-process -NoNewWindow ...‘在所有子进程中循环,然后终止的命令小程序。

我已经找到了许多方法来等待一个进程完成(这显然是微不足道的),但它们似乎都不能作为我的问题的解决方案。

在PowerShell中拥有UNIX version的等价物肯定是我正在寻找的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-14 23:44:13

别忘了可能是多进程中最直接的方法-- Wait-Process

代码语言:javascript
复制
$procs = $(Start-Process Notepad.exe -PassThru; Start-Process Calc.exe -PassThru)
$procs | Wait-Process
票数 33
EN

Stack Overflow用户

发布于 2011-02-14 17:48:58

您是否检查了PowerShell v2中的后台作业功能?

代码语言:javascript
复制
$job = Start-Job -Name "Proc1" -ScriptBlock { Sleep 10000 }
Wait-Job -Job $job

此外,Start-Process有一个名为-wait的参数。指定时,Start-Process将等待子级退出。

代码语言:javascript
复制
Start-Process -FilePath calc.exe -Wait
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4990488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档