我想運行php腳本(下面)命名爲daemon.php作爲使用unix的後臺進程。運行一個php腳本作爲使用unix的後臺進程
#!/usr/bin/php
<?php
$count = 0;
while(true){
$count = $count + 1;
file_put_contents('daemon1.log', $count, FILE_APPEND);
sleep(1);
}
?>
如果我用下面
php daemon.php
命令在前臺運行該文件deamon1.log開始被寫入。另外,如果我輸入命令:
ps | grep php
我得到了把
10573 ttys000 0:00.20 php daemon.php
如果我嘗試運行它作爲後臺進程使用命令
php daemon.php &
我得到的控制檯輸出
[1] 10584
而c ommand
ps | grep php
返回
10584 ttys000 0:00.02 php daemon.php
但沒有被寫入deamon1.log。誰能告訴我我做錯了什麼?
你使用的是什麼版本的Unix?我在GNU/Linux Debian下運行它沒有任何問題。 –
我懷疑用戶和文件寫入權限有問題。 cli用戶和apache用戶將不一樣 – 2013-05-20 22:48:29
我使用的是版本11.4.2 –