2011-12-10 45 views
1

我創建了一個每5分鐘調用一次php腳本的cronjob。使用cron使php腳本啓動連續進程

這個PHP腳本需要啓動幾個其他的PHP CLI腳本,並保持它們在後臺運行,即使在cron腳本終止時也是如此。

我目前用下面的代碼創建這些子過程:

if (!$pid = shell_exec("nohup /var/[..]/cake.php test doSomething > /dev/null 2>&1 & echo $!")) return false; 

當我稱之爲「motherscript」通過命令行一切的偉大的工作。但是,當cron-job停止時,似乎上述代碼行開始的子進程終止。

那麼如何產生這些cake.php test doSomething腳本並讓子進程在crontab中的預定義用戶下運行?

+0

很酷,沒問題 –

回答

3

這是有道理的,你需要告訴孩子PHP腳本不會終止,當它是父母停止。

ignore_user_abort(true); 

將上面的代碼行添加到孩子們的PHP腳本中。應該這樣做

+0

可悲的是這並沒有改變任何東西 – Micronax

+0

不好意思 - 它沒有!我把它放在錯誤的文件中;)非常感謝! – Micronax

+0

不錯,好東西! –