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...