当其中任何一个作业终止时,如何停止gnu并行作业?

Ant*_*Man 6 gnu-parallel

假设我使用以下gnu parallel命令运行N个作业:

seq $N | parallel -j 0 --progress ./job.sh
Run Code Online (Sandbox Code Playgroud)

如何调用并行来杀死所有正在运行的作业,并且只要其中任何一个退出就不再接受它们?

Ole*_*nge 5

您可以使用--halt

seq $N | parallel -j 0 --halt 2 './job.sh; exit 1'
Run Code Online (Sandbox Code Playgroud)

该解决方案的一个小问题是您无法判断是否job.sh失败。