当前位置:首页 > PHP > 正文内容

php守护进程

高老师7年前 (2019-04-27)PHP2085
<?php
/**
 * daemonize让当前脚本为守护进程执行
 * @param string $callback 匿名函数
 */
function daemonize($callback)
{
    //创建子进程
    $pid = pcntl_fork();
    if ($pid < 0)
    {
        exit('创建子进程失败退出');
    }
    elseif ($pid)
    {
        exit('主进程退出');
    }
    else
    {
        //设置子进程为会话leader
        $sid = posix_setsid();
        if ($sid < 0)
        {
            exit('设置子进程为leader失败');
        }
        $callback();
    }
}

//执行任务来测试
$callback = function () {
    for ($i=0;$i<10000;$i++)
    {
        file_put_contents('1.txt',$i.PHP_EOL,FILE_APPEND);
    }
};
daemonize($callback);

先让主进程退出,然后设置子进程为会话组长即可

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/88.html

分享给朋友:

“php守护进程” 的相关文章

php生成验证码

php生成验证码

<?php //高先生简单验证码. //随机数 //为什么循环0-15的数字 //因为要实现最简单的字母和数字混搭 //16进制0-9   a-f //dechex 十进制转换为16进制 //创建一个四位的验证码. //$nmsg.  ...

 php mysql 行锁,php mysql 行级锁,php mysql 行锁定

php mysql 行锁,php mysql 行级锁,php mysql 行锁定

应用场景:PHP模拟购买,商品数量大于0才能购买常见代码:<?php //连接数据库 $con=mysqli_connect("localhost","ihuohuo","927464cy","ihuohuo");...

php 获取当前执行文件,php 获取当前执行文件,php 获取当前文件

php 获取当前执行文件,php 获取当前执行文件,php 获取当前文件

php官方的超全局变量$_SERVER['PHP_SELF']也能直接获取,只不过如果url参数太多也会获取。下面提供一个方法获取/*  * 获取当前PHP文件名称  */ if (!function_exists('phpself&#...

【一】PHP多进程学习-简单创建父子进程.理解父子进程运行流程

【一】PHP多进程学习-简单创建父子进程.理解父子进程运行流程

(1).学习的目标:学会创建父子进程,并且能够区分当前进程是父还是子;了解父进程执行过程,子进程执行过程;能够用多进程执行任务(2).相关函数学习:    (2.1)pcntl_fork()执行时:       &nbs...

php执行慢原因查找

php执行慢原因查找

今天帮朋友查询wordpress执行超级慢的原因,特此记录开启fpm的慢日志,记录执行超过30秒的脚本request_slowlog_timeout = 30 slowlog = var/log/slow.log查看日志[23-May-2019 17...