壳牌的多进程实现

  

  
  
  方法总结:   
  
  ,,1. 命令,+等方式   
  ,,2. 管道先进先出   
  
  ,,,,,,,,,,,,,,,,,   
  ,,1.1   
  ,,实例1.1:将需要多进程执行的程序块全部使用命令,等转移到后台执行即可。   
  ,,,,,,,,用“{}”将主执行程序变为一个块,用,放入后台,四次执行全部放入后台后,   
  ,,,,,,,,需要用一个等待指令,等待所有后台进程执行结束,   
  ,,,,,,,,不然系统是不会等待的,直接继续执行后续指令,直到整个程序结束。   
  ,,,   
  ,,,,# !/bin/bash   
  ,,,,开始=叭掌?“% s"”   
  ,,,,((我=0;i<10;我+ +))   
  ,,,,做   
  ,,,,,,,{   
  ,,,,,,,,,,,回声“成功! ! !“   
  ,,,,,,,,,,,睡眠3   
  ,,,,,,,},,#将上述程序块放到后台执行   
  ,,,,完成   
  ,,,,wait ,,#等待上述程序结束   
  ,,,,结束=叭掌?“% s"”   
  ,,,,回声“时间:““expr结束-开始美元”   
  ,,,   
  ,,,   
  ,,2.1   
  ,,实例2.1:   
  ,,# !/bin/sh   
  ,,函数a_sub {   
  ,,,,,,睡眠2;   
  ,,,,,,endtime='日期+ % s '   
  ,,,,,,sumtime=$ (endtime -开始时间美元)   
  ,,,,,,回应“我是whl,整个脚本已经执行了美元sumtime秒“;   
  ,,}   
  ,,,   
  ,,开始时间='日期+ % s '   
  ,,出口开始时间   
  ,,,   
  ,,tmp_fifofile=?tmp/$ $ .fifo",,,,,,,,,,,,,,# #其中$ $为该进程的pid   
  ,,,   
  ,,mkfifo tmp_fifofile 美元;,,,,,,,,,,,,,,,,,,,,# #创建命名管道   
  ,,,   
  ,,exec 6 & lt;祝辞tmp_fifofile 美元;,,,,,,,,,,,,,,,,,,,6 # #把文件描述符和FIFO进行绑定   
  ,,,,,,   
  ,,rm - f tmp_fifofile 美元;,,,,,,,,,,,,,,,,,,,,,# #绑定后,该文件就可以删除了   
  ,,,,,,   
  ,,线程=30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,# #      
  ,,,   
  ,,((i=0; i<线程美元;我+ +));   
  ,,do ,,   
  ,,,,,,回声祝辞,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,# #写一个空行到管道里,因为管道文件的读取以行为单位   
  ,,完成   
  ,,,   
  ,,,   
  ,,而阅读dat   
  ,,做   
  ,,,,,,# #读取管道中的一行,每次读取后,管道都会少一行   
  ,,,,,,读u6   
  ,,,,,,{,,,,,,a_sub | |{回声“a_sub failed"}   
  ,,,,,,,,,,,,,,echo $ dat   
  ,,,,,,,,,,,,,,回声祝辞,6,,,,,,,,,,,,,,,,,,,,# #每次执行完a_sub函数后,再增加一个空行,这样下面的进程才可以继续执行   
  ,,,,,,},   
  ,,done   ,,,   
  ,,wait ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,# #这里的等待意思是,需要等待以上所有操作(包括后台的进程)都结束后,再往下执行。   
  ,,,,,   
  ,,exec 6祝辞,安康,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,# #关闭文件描述符6的写   
  ,,exec 6 & lt;及   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

壳牌的多进程实现