2016-11-03 44 views
1

我必須運行PHP腳本作爲服務。它也應該在啓動時運行(當系統崩潰/ rebbot發生時)。我嘗試了一年運行一次的cron作業。一旦cron觸發了這個過程,我在運行過程中將其註釋掉了。但系統重啓過程停止後。FreeBSD上的PHP腳本啓動

我試圖this也不過關終端處理後得到停止。另外我不確定它會在啓動時運行嗎?以下是我的PHP腳本。

<?php 
    while (true) { 
     $command = "php $cwd\artisan synchronizedb --ptype=2"; 
     exec($command); 
    } 
?> 
+0

[Run php script as daemon process]可能重複(http://stackoverflow.com/questions/2036654/run-php-script-as-daemon-process) – Dekel

+0

@Dekel它不會在系統崩潰時重新啓動。所以我希望它在系統啓動時重啓。 –

+0

您可能想要[閱讀關於FreeBSD啓動腳本的工作原理](https://www.freebsd.org/cgi/man.cgi?query=rc&sektion=8) –

回答

1

FreeBSD有一個非常好的工具,稱爲daemon你可以只創建一個簡單的腳本這樣

#!/bin/sh 

echo "starting XYZ" 
daemon -r /path/to/your/script 

-r選擇,監督,如果它已經終止重新啓動程序。

以後你有一些選擇

  1. 添加腳本rc.local,編輯文件/etc/rc.local

  2. 創建僅運行在重新啓動一個cron:

    @reboot root /path/to/your/script 
    
  3. 把你的腳本/usr/local/etc/rc.d只是chmod + x

這個cron @reboot可能是最簡單的一個。