全部博文(930)
分类:
2010-09-25 23:08:41
shell脚本中开多个进程没什么困难,需要解决的问题是怎么控制同时运行的进程数目。为此,创建一个命名管道(fifo),在初始时, 向其中灌入SUB_PROCESS_NUM行数据,SUB_PROCESS_NUM为并发的进程数。每个子进程在运行钱,从fifo中读入一行数据,如果 fifo中已经北邮数据的话,进程就被阻塞在read操作上;子进程运行结束后,想fifo中灌入一行数据,这样下个进行就可以运行了。
一个例子如下,run函数代表子进程的操作:
以前工作的时候经常需要从几百台机器拷贝数据,如果一台一台的拷贝要话很长时间,所有的机器一起拷贝的话对拷贝到的目标机器压力又很大,就拿这中方法来跑了。
chinaunix网友2010-09-28 09:29:09
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com