php实现常驻进程 多进程监控

Posted brady-wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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";
}
}

 

































以上是关于php实现常驻进程 多进程监控的主要内容,如果未能解决你的问题,请参考以下文章

代码片段:Shell脚本实现重复执行和多进程

拿什么守护你-PHP程序级守护进程的实现与优化

Android MarsDaemon实现进程及Service常驻

Python 多进程使用之监控

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

Linux下实现PHP多进程的方法分享