程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP將進程作為守護進程的方法

PHP將進程作為守護進程的方法

編輯: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程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved