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); } while(true){ fork("logs();"); sleep(1); } function fork($code) { $pid = pcntl_fork(); if ($pid == 0) { echo "子进程---------pid:".getmypid().PHP_EOL; eval($code); return; } else if($pid > 0) { pcntl_wait($status); } else { echo "can not fork"; } }