Linux系统运维:http://www.linuxyw.com,QQ交流群:244914685

Linux系统运维

当前位置: 首页 > 脚本 >

Linux shell 实现多线程(3)

时间:2013-04-03 23:31来源:转载 作者:网络 点击:
# 此处定义一个函数,作为一个线程(子进程) sleep 3 # 线程的作用是sleep3s } tmp_fifofile= /tmp/$$.fifo mkfifo $tmp_fifofile # 新建一个fifo类型的文件 exec 6 $tmp_fifofile

转载请注明出处: Linux系统运维 http://www.linuxyw.com/linux/jiaoben/20130403/16.html


#  此处定义一个函数,作为一个线程(子进程) 
linux <wbr>shell <wbr>实现多线程 sleep   3   #  线程的作用是sleep 3s 
linux <wbr>shell <wbr>实现多线程 }
linux <wbr>shell <wbr>实现多线程
linux <wbr>shell <wbr>实现多线程
linux <wbr>shell <wbr>实现多线程 tmp_fifofile = " /tmp/$$.fifo " 
linux <wbr>shell <wbr>实现多线程 mkfifo  $tmp_fifofile        #  新建一个fifo类型的文件 
linux <wbr>shell <wbr>实现多线程 exec   6 <> $tmp_fifofile        #  将fd6指向fifo类型 
linux <wbr>shell <wbr>实现多线程 rm  $tmp_fifofile 
linux <wbr>shell <wbr>实现多线程
linux <wbr>shell <wbr>实现多线程
linux <wbr>shell <wbr>实现多线程 thread = 15   #  此处定义线程数 
linux <wbr>shell <wbr>实现多线程 for  ((i = 0 ;i < $thread ;i ++ )); do  
linux <wbr>shell <wbr>实现多线程 echo
linux <wbr>shell <wbr>实现多线程 done  >& 6   #  事实上就是在fd6中放置了$thread个回车符 
linux <wbr>shell <wbr>实现多线程 
linux <wbr>shell <wbr>实现多线程
linux <wbr>shell <wbr>实现多线程 for  ((i = 0 ;i < 50 ;i ++ )); do   #  50次循环,可以理解为50个主机,或其他 
linux <wbr>shell <wbr>实现多线程 
linux <wbr>shell <wbr>实现多线程 read   - u6 
linux <wbr>shell <wbr>实现多线程 #  一个read -u6命令执行一次,就从fd6中减去一个回车符,然后向下执行,
linux <wbr>shell <wbr>实现多线程 # fd6中没有回车符的时候,就停在这了,从而实现了线程数量控制
 
linux <wbr>shell <wbr>实现多线程 
linux <wbr>shell <wbr>实现多线程 {  #  此处子进程开始执行,被放到后台 
linux <wbr>shell <wbr>实现多线程       a_sub  &&  {  #  此处可以用来判断子进程的逻辑 
linux <wbr>shell <wbr>实现多线程        echo  " a_sub is finished " 
linux <wbr>shell <wbr>实现多线程       }  ||  {
linux <wbr>shell <wbr>实现多线程        echo  " sub error " 
linux <wbr>shell <wbr>实现多线程       }
linux <wbr>shell <wbr>实现多线程       echo  >& 6   #  当进程结束以后,再向fd6中加上一个回车符,即补上了read -u6减去的那个 
linux <wbr>shell <wbr>实现多线程

本文来自linux系统运维http://www.linuxyw.com/linux/jiaoben/20130403/16.html

顶一下
(0)
0%
踩一下
(0)
0%
分享按钮
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片