成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

php創(chuàng)建恒定數(shù)量的進(jìn)程(pcntl學(xué)習(xí)筆記三)

hizengzeng / 1392人閱讀

摘要:最近在學(xué)習(xí)進(jìn)程相關(guān)的知識(shí),配合實(shí)際編碼,覺(jué)得有點(diǎn)意思。閑話(huà)不說(shuō)了,進(jìn)入正題,受網(wǎng)友啟發(fā),如何創(chuàng)建恒定數(shù)量的進(jìn)程呢有進(jìn)程掛了,就創(chuàng)建新的,進(jìn)程,進(jìn)程多了就殺掉幾個(gè)。

最近在學(xué)習(xí)進(jìn)程相關(guān)的知識(shí),配合實(shí)際編碼,覺(jué)得有點(diǎn)意思。這段時(shí)間工作不忙,有時(shí)間自己研究進(jìn)步,感覺(jué)這才是真正的工作啊。相比上一家公司(壓抑的工作飽和度……)感覺(jué)開(kāi)心很多。下一步再研究一下多線程??纯茨懿荒懿迦胍磺f(wàn)條數(shù)據(jù)。
閑話(huà)不說(shuō)了,進(jìn)入正題,受網(wǎng)友啟發(fā),如何創(chuàng)建恒定數(shù)量的進(jìn)程呢?有進(jìn)程掛了,就創(chuàng)建新的,進(jìn)程,進(jìn)程多了就殺掉幾個(gè)。網(wǎng)友文章:16歲的鳴人發(fā)送影分身,分出5個(gè)分身
code如下:

 0) {
        return $pid;
    }
    return 0;
}


while(true) {
    if (count($child) < $num) {
        $pid = genarate($minLife, $maxLife);
        echo "child ".$pid." born ".PHP_EOL;
        if($pid) {
            $child[] = $pid;
        }
    } else if ( count($child) > $num ) {
        $pid = array_pop($child);
        posix_kill($pid,SIGINT);
        echo "child ".$pid." killed".PHP_EOL;
    }
    foreach($child as $k => $pid) {
        $res = pcntl_waitpid($pid,$status,WNOHANG);
        if($res == -1 || $res > 0 ) {
            unset($child[$k]);
        }
    }
}

當(dāng)$num=1,$maxLife=1,$minLife=1時(shí)
運(yùn)行結(jié)果如下

只要進(jìn)程一掛掉,就會(huì)里面創(chuàng)建新的進(jìn)程。再通過(guò)pcntl_signal注冊(cè)一個(gè)捕獲信號(hào)的回調(diào)方法,應(yīng)該就可以了。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22718.html

相關(guān)文章

  • php進(jìn)程插入數(shù)據(jù)(pcntl 學(xué)習(xí)筆記二)

    摘要:進(jìn)程切換太多,影響了了效率應(yīng)該是原因之一。當(dāng)時(shí),十萬(wàn)條記錄,個(gè)進(jìn)程插入總時(shí)間為單進(jìn)程插入萬(wàn)條數(shù)據(jù),耗時(shí)秒,相對(duì)個(gè)進(jìn)程插入萬(wàn)記錄來(lái)說(shuō),耗時(shí)少些。而單進(jìn)程插入萬(wàn)條記錄,耗時(shí),相對(duì)來(lái)說(shuō),是挺慢的了。 個(gè)人在虛擬機(jī)centos7,單核,1G內(nèi)存 /** * 模擬并發(fā)請(qǐng)求,10萬(wàn)次寫(xiě)入數(shù)據(jù)庫(kù) * 拆分為10個(gè)進(jìn)程,每個(gè)進(jìn)程處理一萬(wàn)條插入 */ $total = 10000; $num ...

    CoyPan 評(píng)論0 收藏0
  • pcntl擴(kuò)展學(xué)習(xí)筆記一(pcntl_fork與pcntl_wait,串行執(zhí)行分析)

    摘要:對(duì)編程的理解,應(yīng)該到深入到操作系統(tǒng)級(jí)別。進(jìn)程控制,我一直都沒(méi)有接觸,感覺(jué)好高端,今天啃了一下擴(kuò)展的最簡(jiǎn)單的兩個(gè)函數(shù),有點(diǎn)心得,記錄一下吧,歡迎拋磚。 對(duì)編程的理解,應(yīng)該到深入到操作系統(tǒng)級(jí)別。進(jìn)程控制,我一直都沒(méi)有接觸,感覺(jué)好高端,今天啃了一下pcntl擴(kuò)展的最簡(jiǎn)單的兩個(gè)函數(shù),有點(diǎn)心得,記錄一下吧,歡迎拋磚。新建代碼文件 pcntl_wait.php,如下: $i = 0; ...

    TesterHome 評(píng)論0 收藏0
  • PHPpcntl進(jìn)程控制教程(多進(jìn)程消費(fèi)模型)

    摘要:多進(jìn)程消費(fèi)模型父進(jìn)程等待并控制子進(jìn)程的退出思路整理父進(jìn)程開(kāi)啟后,直接獲取到子進(jìn)程的,然后存入數(shù)組,子進(jìn)程出來(lái)后直接開(kāi)啟業(yè)務(wù)消費(fèi)代碼,然后退出,然后父進(jìn)程等待子進(jìn)程退出,全部退出后父進(jìn)程結(jié)束代碼請(qǐng)?jiān)谀J较逻\(yùn)行子進(jìn)程的數(shù)量如果是資源類(lèi)型的變量, 多進(jìn)程消費(fèi)模型 父進(jìn)程等待并控制子進(jìn)程的退出 思路整理 父進(jìn)程開(kāi)啟后,直接獲取到子進(jìn)程的pid,然后存入child數(shù)組,子進(jìn)程fork出來(lái)后直接開(kāi)...

    617035918 評(píng)論0 收藏0
  • workerman筆記-php創(chuàng)建守護(hù)進(jìn)程

    摘要:守護(hù)進(jìn)程常常在系統(tǒng)引導(dǎo)裝入時(shí)啟動(dòng),在系統(tǒng)關(guān)閉時(shí)終止。進(jìn)程組有進(jìn)程組來(lái)唯一標(biāo)識(shí)。且該進(jìn)程組不會(huì)因組長(zhǎng)進(jìn)程的退出而受到影響。 使用函數(shù) pcntl_fork();//創(chuàng)建子進(jìn)程 posix_setsid();//設(shè)置當(dāng)前進(jìn)程為進(jìn)程組長(zhǎng) posix_getpid();//獲取進(jìn)程id 例子 workerman中將進(jìn)程 /** * Run as deamon mode. * * @th...

    Cristic 評(píng)論0 收藏0
  • PHP進(jìn)程系列筆記(一)

    摘要:用于創(chuàng)建子進(jìn)程。該函數(shù)阻塞當(dāng)前進(jìn)程,只到當(dāng)前進(jìn)程的一個(gè)子進(jìn)程退出或者收到一個(gè)結(jié)束當(dāng)前進(jìn)程的信號(hào)。注意處需要注意子進(jìn)程需要防止子進(jìn)程也進(jìn)入循環(huán)。如果沒(méi)有,最終創(chuàng)建的子進(jìn)程不只個(gè)。 本系列文章將向大家講解pcntl_*系列函數(shù),從而更深入的理解進(jìn)程相關(guān)知識(shí)。 PCNTL在PHP中進(jìn)程控制支持默認(rèn)是關(guān)閉的。您需要使用 --enable-pcntl 配置選項(xiàng)重新編譯PHP的 CGI或CLI版本...

    ddongjian0000 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<