我有这段代码,可以并行启动 make t1
、make t2
和 make t3
。
有没有一种方法可以在一个失败时终止其余的 make 进程?例如,如果 make t2
失败,脚本应该终止其他 2 个运行(make t1
和 make t3
)然后出来。
for ARG in '"t1" "t2" "t3"'
do
cd ${ARG}
make ${ARG} & pid=$!
PID_LIST+=" $pid";
cd -
done
trap "kill $PID_LIST" SIGINT
echo "Parallel makes have started $PID_LIST"
wait $PID_LIST
最佳答案
使用 GNU Parallel
parallel --halt now,fail=1 'cd {}; make {}' ::: t1 t2 t3
关于linux - 运行并行进程,如果失败则全部退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43186171/