当任何子进程以代码结束时,如何在bash中等待几个子进程完成并返回退出代码!=0?
如何在bash脚本中等待从该脚本生成的几个子进程来完成并返回退出代码!=0,当任何子进程以代码!=0结尾时?
简单脚本:
#!/bin/bashfor i in `seq 0 9`; do
doCalculations $i &donewait
上面的脚本将等待所有10个生成的子进程,但它总是给出退出状态0(请参见help wait
)。如何修改这个脚本,以便当任何子进程以代码!=0结尾时,它将发现派生子进程的退出状态并返回退出代码1?
有什么比收集子进程的PID、按顺序等待它们和退出状态更好的解决方案吗?