shell脚本多进程并发写法实例(高阶修炼)

2022-06-26 14:11:13 浏览数 (1)

现实工作场景中有很多为了实现快速处理,而采用并发执行.其他语言实现并发非常容易.

那么shell脚本最为linux上面最友好的脚本语言能实现并发嘛?

答案是必须的哈!~

那么波哥这里就写个例子分享给大家哈!~

代码语言:javascript复制
#!/bin/bash
#并发数
pnum=6
#想要执行的函数
task () {
echo "$u start"
sleep 5
echo "$u done"
}

FifoFile="$$.fifo"
mkfifo $FifoFile
exec 6<>$FifoFile
rm $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
} &
done
wait
exec 6>&-

套用上面的例子就可以实现并发处理了哈!~

0 人点赞