php 快速fork出指定個子進程


 

$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,相當於把代碼復制了兩分,分別去分析代碼的執行情況

for循環中進程fork參考 http://blog.csdn.net/jason314/article/details/5640969

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM