Shell脚本中的并发(2)
来源:互联网 发布:淘宝不能上传新图片 编辑:程序博客网 时间:2024/05/24 01:57
续 Shell脚本中的并发(1)
上篇主要是写的如何在Shell脚本中编写并发程序,这次写一下如何控制进程的数量。
在网上参考了一下别人的方法,主要都是利用管道的思想。
参考如下程序:
#!bin/bashPRONUM=10 #进程个数tmpfile="$$.fifo" #临时生成管道文件mkfifo $tmpfileexec 6<>$tmpfilerm $tmpfilefor(( i=0; i<$PRONUM; i++ ))do echo "init."done >&6for(( i = 0; i < ${count}; i++ ))do read line #echo $line { commands echo "line${i} finished." } >&6 &done <&6wait
初始时给管道内写入PRONUM个字符串,然后每从管道内读出一个字符串就生成一个子进程,当管道内没有字符串可读时就阻塞在那里,不能创建新的子进程,一直等到有新的字符串进来时才继续运行。当每个并发进程执行完毕时又向管道内写入一个字符串,表示当前子进程已执行完毕,可以创建新的子进程了。
- Shell脚本中的并发(2)
- shell 脚本中的并发
- Shell脚本中的并发(1)
- Shell脚本中的并发(1)
- shell并发处理脚本
- shell脚本的并发
- shell脚本并发执行
- shell 脚本并发控制
- shell脚本中的export
- shell脚本中的变量
- shell脚本中的加减
- shell脚本中的$*,$@和$#
- shell脚本中的特殊符号
- shell 脚本中的递归
- shell脚本中的函数
- shell脚本中的var
- shell脚本中的循环
- shell脚本中的$*,$@和$#
- VC中关于预编译头文件的概括,以及无法打开预编译头文件的错误解决
- Linq to sql:DataLoadOptions 限制
- java的锁机制
- Mahout0.6-PrepareTwentyNewsgroups bug修复
- Linq to sql: DataContext 隔离
- Shell脚本中的并发(2)
- iOS效率提升工具
- linux 安装zip和压缩解压文件
- 未能解决bug之java.io.IOException: Not in GZIP format
- Linq to sql:检测并发
- thrift安装
- poj 3680 Intervals
- Perl内置特殊变量
- Html5 学习系列(三)增强型表单标签