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);
            }
        }
    ?>
  • 相关阅读:
    uva 11997 K Smallest Sums
    uvalive 3135 Argus
    React-Redux填坑
    fetch方法
    react 学习前期用到的插件
    Redux:with React(一)
    Redux:data flow
    Redux:store
    Redux:Reducers
    Redux:action
  • 原文地址:https://www.cnblogs.com/yjf512/p/3288477.html
Copyright © 2011-2022 走看看