php實現常駐進程 多進程監控


php都是通過crontabd定時腳本處理隊列的,面試被問到php如何常駐進程進行處理隊列,想了半天這樣不知道是否是一種方式 

<?php


function logs()
{
file_put_contents("/www/wang/logs/".date("Y-m-d",time()).".txt",date("Y-m-d H:i:s").PHP_EOL,FILE_APPEND);

}

$i = 1;
while(true){

fork("logs();");

sleep(1);
//$i++;
}

function fork($code)
{
$pid = pcntl_fork();
if ($pid == 0) {
echo "forking 子進程---------pid:".getmypid().PHP_EOL;
eval($code);
exit();
} else if($pid > 0) {
echo 'Oh my god! I am a father now! my pid is '.getmypid().' ---- My child is'. $pid . PHP_EOL;
$quit_pid = pcntl_wait($status);
echo "回收子進程:".$quit_pid.PHP_EOL;
} else {
echo "can not fork";
}
}

 


免責聲明!

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



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