首页  >  文章  >  php教程  >  PHP daemon(使用pcntl_fork派生子进程后退出父进程)

PHP daemon(使用pcntl_fork派生子进程后退出父进程)

WBOY
WBOY原创
2016-06-06 19:37:571595浏览

使用pcntl_fork派生子进程后退出父进程 无 ?phpfunction daemon(){ $pid = pcntl_fork(); if ($pid == -1) { exit(1); } elseif ($pid 0) { exit(0); } else { posix_setsid(); umask(0); chdir('/'); fclose(STDOUT); fclose(STDERR); $pid = pcntl_fork();

使用pcntl_fork派生子进程后退出父进程
<?php

function daemon()
{
    $pid = pcntl_fork();

    if ($pid == -1)
    {
        exit(1);
    }
    elseif ($pid > 0)
    {
        exit(0);
    }
    else
    {
        posix_setsid();
        umask(0);
        chdir(&#39;/&#39;);
        fclose(STDOUT);
        fclose(STDERR);

        $pid = pcntl_fork();

        if ($pid == -1)
        {
            exit(1);
        }
        elseif ($pid > 0)
        {
            exit(0);
        }
        else
        {
            unset($pid);
        }

    }
}

function job()
{
    // your job here
}

daemon();

while (true)
{
    job();
    sleep(1);
}
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn