PHP程式守護程序化

2021-07-24 08:38:37 字數 721 閱讀 1065

php命令列程式實現守護程序化有2種方法:

nohup php myprog.php > log.txt &
這裡就實現了守護程序化。

單獨執行 php myprog.php,當按下ctrl+c時就會中斷程式執行,會kill當前程序以及子程序。

php myprog.php &,這樣執行程式雖然也是轉為後台執行,實際上是依賴終端的,當使用者退出終端時程序就會被殺掉。

function

daemonize()

elseif ($

pid>

0)//建立乙個有別於終端的新session以脫離終端

posix_setsid();

$pid

=pcntl_fork();

if ($

pid==-

1)elseif ($

pid>0)}

daemonize();

sleep(1000);

用上面**即可實現守護程序化,當你的php程式需要轉為後台執行時,只需要呼叫一次封裝好的函式daemonize()即可。

注:這裡沒有實現標準輸入輸出的重定向。

PHP程式守護程序化

php命令列程式實現守護程序化有2種方法 nohup php myprog.php log.txt 這裡就實現了守護程序化。單獨執行 php myprog.php,當按下ctrl c時就會中斷程式執行,會kill當前程序以及子程序。php myprog.php 這樣執行程式雖然也是轉為後台執行,實際...

PHP程式守護程序化

php命令列程式實現守護程序化有2種方法 nohup php myprog.php log.txt 這裡就實現了守護程序化。單獨執行 php myprog.php,當按下ctrl c時就會中斷程式執行,會kill當前程序以及子程序。php myprog.php 這樣執行程式雖然也是轉為後台執行,實際...

PHP守護程序化

乙個守護程序通常補認為是乙個不對終端進行控制的後台任務。它有三個很顯著的特徵 在後台執行,與啟動他的程序脫離,無須控制終端。常用的實現方式是fork setsid fork 在glibc裡有乙個函式daemon。呼叫此函式,就可使當前程序脫離終端變成乙個守護程序,具體內容參見man daemon。p...