如何从Windows外壳产卵多个进程,等待他们全部完成? [英] How to spawn several processes from the Windows shell and wait for them all to complete?

查看:145
本文介绍了如何从Windows外壳产卵多个进程,等待他们全部完成?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要做从Windows批处理脚本如下:

i want to do the following from a Windows batch script:

start proc1.exe

start proc2.exe

...

start procN.exe

<wait for all N processes to complete> <-- What do i put here?

让我怎么等待所有的子进程来完成?

So how do i wait for all spawned processes to complete?

TIA。

推荐答案

这是丑陋的,但你可以在包装每个命令的其他的批量运行该命令,然后文件信号,表示该命令完成。你的主要批处理文件将异步调用这些每一个批处理文件,并坐在一个循环等待的信号。

This is ugly, but you could wrap each command in another batch file that runs the command and then signals that the command is complete. Your main batch file would call each of those batch files asynchronously and sit in a loop waiting for the signals.

例如:

main.bat

start cmd /c proc1.bat
start cmd /c proc2.bat
:wait
sleep 1
IF NOT EXIST proc1done GOTO wait
IF NOT EXIST proc2done GOTO wait
del proc1done
del proc2done
echo All processes are complete

proc1.bat

proc1.exe
echo Done > proc1done

睡眠命令在<一个可用href=\"http://www.microsoft.com/downloads/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD\">Windows Server 2003的资源工具包工具的。如果你没有这样的,你可以使用本地主机上一个ping只是放缓,紧缩循环。

The sleep command is available in Windows Server 2003 Resource Kit Tools. If you don't have that, you could use a ping on localhost just to slow down that tight loop.

这篇关于如何从Windows外壳产卵多个进程,等待他们全部完成?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆