Question

Suppose I am running N jobs with the following gnu parallel command:

seq $N | parallel -j 0 --progress ./job.sh

How can I invoke parallel to kill all running jobs and accept no more as soon as any one of them exits?

Was it helpful?

Solution

You can use --halt:

seq $N | parallel -j 0 --halt 2 './job.sh; exit 1'

A small problem with that solution is that you cannot tell if job.sh failed.

OTHER TIPS

You may also use killall perl. It's not accurate way, but easy to remember

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top