我想运行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 –