zoukankan      html  css  js  c++  java
  • PHP如何将进程作为守护进程

    看了这篇: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);
            }
        }
    ?>
  • 相关阅读:
    Hadoop(1.2.1)安装
    ETL,BPM与ESB三者的一些感悟
    编程上面的理论支撑
    TreeSet类的排序
    List接口
    Map接口
    类和对象
    面向对象1
    IO流4
    Java面向对象
  • 原文地址:https://www.cnblogs.com/yjf512/p/3288477.html
Copyright © 2011-2022 走看看