Heim >php教程 >php手册 >PHP如何将进程作为守护进程

PHP如何将进程作为守护进程

WBOY
WBOYOriginal
2016-06-06 19:47:58948Durchsuche

看了这篇:http://blog.codinglabs.org/articles/write-daemon-with-php.html 对里面的posix_setsid()不解 文档解释是“Make the current process a session leader” 参考文档:http://linux.die.net/man/2/setsid 意思就是在一个进程组之间(父进程和子进

看了这篇:http://blog.codinglabs.org/articles/write-daemon-with-php.html

对里面的posix_setsid()不解

文档解释是“Make the current process a session leader”

参考文档:http://linux.die.net/man/2/setsid

意思就是在一个进程组之间(父进程和子进程)调用这个函数的进程会被选举为进程组的leader

所以让一个进程成为守护进程的方法就是:

1 fork出一个子进程

2 在子进程posix_setsid()

3 退出父进程

文档中有这么个例子:

<?php $pid = pcntl_fork(); // fork
    if ($pid < 0)
        exit;
    else if ($pid) // parent
        exit;
    else { // child
        $sid = posix_setsid();
        if ($sid < 0)
            exit;
        for($i = 0; $i <= 60; $i++) { // do something for 5 minutes
            sleep(5);
        }
    }
?>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:兴奋、强类型版的PHP语言Nächster Artikel:php5 相关软件下载