>  기사  >  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으로 문의하세요.
이전 기사:PHP5.5 SplStack다음 기사:PHP判断域名过期时间源码