首页 > 代码库 > Shell 控制并发

Shell 控制并发

方法1:

#!/bin/bashc=0for i in `seq -w 18 31`;do  while [ $c -ge 3 ];do    c=$(jobs -p |wc -w)    sleep 1s  done  bash run_cal_us_tmp.sh 201407$i &  #echo "`sleep 5s`haha" &  c=$(jobs -p |wc -w)done

优点:实现简单

缺点:若sleep 时间较短,性能开销大。

方法2:

#/bin/bash -x                                             SPEED=50                                                                                                mkfifo tmpfifo                                               exec 6<>tmpfifo                                                                                     for(( i=0;i<5;i++ ));do                                                                                                                 echo $i;                                                                                                   done >&6while read tmp<&6do  echo "haha"donewait                                                                                                     exec >&6-

Shell 控制并发