我需要从批处理作业中启动 2 个后台进程,然后等待它们。 Unix shell 模拟是:
myprocess1 -flags1 &
pid1=$!
myprocess2 -flags2 &
pid2=$!
wait ${pid1}
wait ${pid2}
有什么想法吗?
最佳答案
您可以使用启动包装器解决它。
包装器使用 start/wait
启动进程,进程完成后它删除一个文件以发出信号。
您通过包装器启动的第一个进程,第二个您可以通过 start/wait
启动。
然后你只需要等待文件。
Echo > waiting.tmp
Start cmd /c wrapper.bat myprocess1 -flags1
start /wait myprocess2 -flags2
:loop
if exist waiting.tmp goto :loop
wrapper.bat 的内容
start /wait %*
del waiting.tmp
关于Windows 批处理 : run a process in background and wait for it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14747963/