假设我使用以下gnu parallel命令运行N个作业:
seq $N | parallel -j 0 --progress ./job.sh
Run Code Online (Sandbox Code Playgroud)
如何调用并行来杀死所有正在运行的作业,并且只要其中任何一个退出就不再接受它们?
您可以使用--halt:
seq $N | parallel -j 0 --halt 2 './job.sh; exit 1'
Run Code Online (Sandbox Code Playgroud)
该解决方案的一个小问题是您无法判断是否job.sh失败。