Linuxの共有の下にマルチプロセスを達成するためのPHP方法

PHPのコンパイル時、-enable-PCNTLを追加する必要があり、かつ唯一のCLIモードで実行を推奨しますが、WEBサーバ環境を実行しないでください。

マルチプロセスの簡単なテストコードを達成するために、次のPHP:

コードは以下の通りであります:
<?PHPの
 DECLARE(ティック= 1 );
 $ bWaitFlag = FALSE ; // /プロセスの終了を待機するかどうか
$ INTNUM = 10; // 合計/プロセス
の$ PIDS = 配列(); // / PIDプロセスアレイ

エコー(「スタート\ N-」); 

のために$ I = 0; $ I < $ INTNUM ; $ I ++ ){ 

$ PIDS [ $ I ] = pcntl_fork(); // /生成サブプロセスが、離れて現在の行からのテストラン下コード、およびデータ情報は、親プロセスを継承しません

IF(!$ PIDS [ $ I ]){
// 子プロセスコードセグメント_start 
$ STR = "" ;
 SLEEP(5+ $ I のために$ J = 0; $ J < $ I$ J ++){ $ STR = "*" }
 エコー " $ I - >。" 時間() " $ STR \ N-" ;
 出口();
 // 子プロセス・コード・セグメント・_END 
} 

} 
IF$ bWaitFlag 
{ 
のために$ I = 0; $ I < $ INTNUM ; $ I ++){ 
pcntl_waitpid($のPID [ $ I ]、$ステータスWUNTRACED)。
エコー "待つ$ Iを - >"。時間()。"\ n"は
} 
} 
エコー( "エンド\ n" );
?>

 

おすすめ

転載: www.cnblogs.com/wadhf/p/12127369.html