我的web應用程序的一部分是一個後臺腳本,它從一個beanstalkd服務器進行輪詢並處理數據。不使用pcntl_fork的PHP簡單守護進程
該腳本需要連續運行(如守護進程)。如果它崩潰,需要重新啓動。它也不能啓動兩次(更精確地說運行兩次)。
由於我想簡化部署和開發過程,我想避免使用pcntl_fork
。它在Windows上不可用,它需要在Mac上重新編譯PHP,有時在Linux上也是如此...
我可以簡單地使用bash腳本在後臺啓動PHP腳本嗎?
# verify that the script is not already running
...
/usr/bin/php myScript.php &
如果我執行這個批次的crontab每隔一小時左右,我的過程中應不斷地運行,並且如果它崩潰的最大一小時內重新啓動?
偉大的解決方案。關於Windows(或任何開發環境),最主要的是能夠運行腳本。這不是一個大問題,如果它不作爲deamon運行。 pcntl_fork會阻止腳本啓動,所以這是主要問題。 –
而在這種情況下,因爲腳本只需要完全不加修改地運行,所以主管工作得很好。 – Charles