Shell 并发
Shell并发
shell并发脚本示例:
#!/bin/bash# 并发数pnum=6#想要执行的函数task () {  echo "$u start"  sleep 5  echo "$u done"}
FifoFile="$$.fifo"mkfifo $FifoFileexec 6<>$FifoFilerm $FifoFile
for ((i=0;i<=$pnum;i++));do echo;done >&6#执行20次for u in `seq 1 20`do  read -u6  {  #调用函数  task  #并发执行函数打印结果日志  [ $? -eq 0 ] && echo "${u} 次成功" || echo "${u} 次失败"  echo >&6  } &donewaitexec 6>&-