php也是可以直接進行守護程序的啟動與終止的,相對於shell來說會簡單很多,理解更方便,當然了php的守護程序要實現自動重啟還是要依賴於shell的crontab日程表,每隔一段時間去執行一次指令碼看指令碼是否需要重啟,如果需要則殺掉程序刪除runfile檔案,重新啟動並在runfile檔案中寫入pid。
<?phpfunction start($file
).php";
clearstatcache
();
if(file_exists($runfile
)) | awk ''");
//如果runfile中的pid號可以匹配到正在執行的,並且上次訪問runfile的時間和現在相差小於5min則返回
if(($oldpid == $nowpid) && (time() - fileatime($runfile) < 300))
else
| xargs --if-no-run-empty kill");}}
else
while(true
)
/*這裡是守護程序要做的事
*/
/**********************
*/touch($runfile
);
sleep(5);}}
}start("test");
php寫守護程序時童謠要注意幾點:
crontab -e#開啟日程表,inset模式
*/3 * * * * /usr/bin/php -f process.php
#每3分鐘執行一次,放置程序掛掉
這樣就基本ok了,要是有具體功能的話還需改動**。
send me~
php守護程序
class daemon 啟動程序 return bool public function main this logmessage running.this isrunning true while this isrunning return true 停止程序 return void publi...
PHP守護程序化
乙個守護程序通常補認為是乙個不對終端進行控制的後台任務。它有三個很顯著的特徵 在後台執行,與啟動他的程序脫離,無須控制終端。常用的實現方式是fork setsid fork 在glibc裡有乙個函式daemon。呼叫此函式,就可使當前程序脫離終端變成乙個守護程序,具體內容參見man daemon。p...
PHP守護程序化
什麼是守護程序?乙個守護程序通常補認為是乙個不對終端進行控制的後台任務。它有三個很顯著的特徵 在後台執行,與啟動他的程序脫離,無須控制終端。常用的實現方式是fork setsid fork 根據 語言的實現思路即可。因為需要關閉 標準io,所以這裡使用redis方便測試。php 實現守護程序 fun...