Rumah  >  Artikel  >  php教程  >  PHP daemon(使用pcntl_fork派生子进程后退出父进程)

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

WBOY
WBOYasal
2016-06-06 19:37:571595semak imbas

使用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);
}
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP5.5 SplStackArtikel seterusnya:PHP判断域名过期时间源码