$pids = array(); $child_pid = pcntl_fork(); if ($child_pid == -1) { throw new Exception( __METHOD__ . "|" . __LINE__ . ": fork() error"); } else if ($child_pid) { //parent exit(0); } else { //child for($i=0;$i<3;$i++) { $child_pid = pcntl_fork(); if($child_pid) { //parent $pids[] = $child_pid; sleep(5); print_r($pids);echo "\n"; }else{ //child break; } } } while(1) { //your code sleep(1); }
理解:每執行一個fork,至關於把代碼複製了兩分,分別去分析代碼的執行狀況php
for循環中進程fork參考 http://blog.csdn.net/jason314/article/details/5640969html