shell并发

本文介绍了一种使用 Bash 脚本并行执行命令的方法,通过创建临时管道文件来协调多个并发进程,提高了任务处理效率。适用于需要批量处理大量任务的场景。
  1. #!/bin/bash  
  2.   
  3. for(( i = 0; i < ${count}; i++ ))  
  4. do  
  5. {  
  6.         commands1  
  7. }&  
  8. done  
  9. wait  
  10.   
  11. commands2  

 

 

 

[plain]  view plain copy
 

 

  1. #!bin/bash  
  2.   
  3. PRONUM=10               #进程个数  
  4.   
  5. tmpfile="$$.fifo"        #临时生成管道文件  
  6. mkfifo $tmpfile  
  7. exec 6<>$tmpfile  
  8. rm $tmpfile  
  9.   
  10. for(( i=0; i<$PRONUM; i++ ))  
  11. do  
  12.         echo "init."  
  13. done >&6  
  14.   
  15. for(( i = 0; i < ${count}; i++ ))  
  16. do  
  17.         read line  
  18.         #echo $line  
  19.         {  
  20.                 commands  
  21.                 echo "line${i} finished."  
  22.         } >&6 &  
  23. done <&6  
  24.   
  25. wait  
  26.    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值