How to wait in bash for several subprocesses to finish and return exit code !=0 when any subprocess ends with code !=0?

后端 未结 30 2426
悲哀的现实
悲哀的现实 2020-11-22 03:50

How to wait in a bash script for several subprocesses spawned from that script to finish and return exit code !=0 when any of the subprocesses ends with code !=0 ?

S

30条回答
  •  情歌与酒
    2020-11-22 04:28

    Just store the results out of the shell, e.g. in a file.

    #!/bin/bash
    tmp=/tmp/results
    
    : > $tmp  #clean the file
    
    for i in `seq 0 9`; do
      (doCalculations $i; echo $i:$?>>$tmp)&
    done      #iterate
    
    wait      #wait until all ready
    
    sort $tmp | grep -v ':0'  #... handle as required
    

提交回复
热议问题