PHP将进程作为守护进程的方法

yipeiwu_com5年前PHP代码库

本文实例讲述了PHP将进程作为守护进程的方法。分享给大家供大家参考。具体分析如下:

php中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);
    }
  }
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP 使用header函数设置HTTP头的示例解析 表头

如下所示:复制代码 代码如下://定义编码  header( 'Content-Type:text/html;charset=utf-8 ');  //Atom&nb...

PHP生成图像验证码的方法小结(2种方法)

本文实例讲述了PHP生成图像验证码的方法。分享给大家供大家参考,具体如下: 1、生成加法运算验证码图片 session_start (); /*定义头文件为图片*/ header("...

php获取textarea的值并处理回车换行的方法

本文实例讲述了php获取textarea的值并处理回车换行的方法。分享给大家供大家参考。具体实现方法如下: 一般来说,在html表单中textarea中我们按回车与换行都是一些ascii...

PHP会话处理的10个函数

PHP会话处理的10个函数

在PHP开发中,比起Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,这里我们详细介绍一下PHP处理会话函数将要用到10个函数。...

PHP动态编译出现Cannot find autoconf的解决方法

本文详细讲述了PHP动态编译出现Cannot find autoconf的解决方法。分享给大家供大家参考。具体方法如下: 在安装完PHP后,想动态编译PHP的memcache扩展库 复制...