2013-02-05 54 views
1

可能重复:
How to wait in bash for several subprocesses to finish and return exit code !=0 when any subprocess ends with code !=0?多个命令优先

我有以下问题:

我有3个过程,我把一个脚本

process1 process2 proc ess3

我希望进程1和2同时运行,但它们都在进程3启动之前完成。

我想这是一样的东西,我不知道该following..but“等待”

#!/bin/sh 

    (
     process1 & 
     process2 & 

     wait 

     process3 

       ) 

谢谢

法比奥

+1

这将做你想做的。你不需要()构造。 –

回答

3

只需保存两个进程的PID和等待两者退出

#!/bin/bash 

process1 & 
pid1=$! 
process2 & 
pid2=$! 

wait ${pid1} 
echo "Return value of process1: $?" 
wait ${pid2} 
echo "Return value of process2: $?" 

process3 
+0

所以单一的等待在你看来没有任何意义? – fabioln79

+0

它也适用。这只是我的习惯,我认为它更好,因为如果你愿意,你可以检查过程的返回值 –

+0

了解它!谢谢你们。法比奥 – fabioln79