在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/

10-16 20:29