在Bash中是否可以生成多个进程,在最后一个进程完成后,报告有多少进程正确终止/没有核心转储?
或者在Python中这样做更好吗?
(理想情况下,我想报告哪个命令失败,如果有的话)
最佳答案
希望您可以利用GNU Parallel及其故障处理。一般示例:
parallel ::: ./processA ./processB ./processC
具体例子。。。在这里,我运行3个简单的作业,每个作业都用单引号括起来,并将其设置为在所有作业完成或失败后停止:
parallel --halt soon,fail=100% ::: 'echo 0 && exit 0' 'echo 1 && exit 1' 'echo 2 && exit 2'
输出
0
1
parallel: This job failed:
echo 1 && exit 1
2
parallel: This job failed:
echo 2 && exit 2
默认情况下,它将并行运行
N
作业,其中N
是CPU拥有的内核数,如果您只想按顺序运行作业,请使用:parallel -j 1 ...
显然,您可以通过
grep -c "This job failed"
管道输出来计算失败次数。关于bash - bash可以产生多个进程并报告成功运行了多少个进程吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58087909/