PHP也是可以直接進行守護進程的啓動與終止

PHP也是可以直接進行守護進程的啓動與終止

  
PHP也是可以直接進行守護進程的啓動與終止的,相對於shell來說會簡單很多,理解更方便,當然了PHP守護進程要實現自動重啓還是要依賴於shell的 cron tab日程表,每隔一段時間去執行一次腳本看腳本是否需要重啓,如果需要則殺掉進程刪除RunFile文件,重新啓動並在RunFile文件中寫入pid。

  PHP寫守護進程時要注意幾點:

  1.首先就是函數clearstatcache()函數那裏,查官方手冊可以知道該函數是清除文件狀態緩存的,當在一個腳本中多次檢查同一個文件的緩存狀態時如果不用該函數就會出錯,受該函數影響的有:stat(), lstat(), file_exists(), is_writable(),is_readable(), is_executable(), is_file(), is_dir(), is_link(),filectime(), fileatime(), filemtime(), fileinode(), filegroup(),fileowner(), filesize(), filetype(), fileperms().
  

  2.在多次運行該腳本時,會在運行前進行檢測,上次執行循環的時間距離現在大於300s或者pid號不匹配都會重啓該進程(時間在每次執行循環式都要更新touch)。
  

  3.自動重啓也用到了crontab的日程表,將該文件添加入日程表:
  

  crontab -e#打開日程表,inset模式/3 * /usr/bin/php -f process.php#每3分鐘執行一次,放置進程掛掉。這樣就基本ok了,要是有具體功能的話還需改動代碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章