我有一个php脚本,负责根据数据库中包含的队列发送电子邮件。通过shell在后台运行php脚本 - 脚本从不在mac os上执行x
当它从我的壳这样执行的脚本工作:
在/ usr/bin中/ PHP -f /folder/email.php
然而,当我执行它在后台运行:
在/ usr/bin中/ PHP -f /folder/email.php>的/ dev/null的&
它永远不会完成,并且该过程刚好坐在进程队列:
的ClickOnce:PSŤ
PID TT STAT TIME COMMAND
1246个S000 SS 0:00.03登录-pf
1247 S000秒0:00.03 -bash
1587 S000Ť0:00.05/USR /斌/ PHP -f /folder/email.php
1589 S000 R + 0:00.00 ps的牛逼
所以我的问题是我怎么能运行此作为背景PROCES并让它实际执行?我需要配置我的操作系统吗?我是否需要改变执行命令的方式?
在这种情况下require_once语句或数据库读取是否被认为是stdin? – dirknibleck 2012-03-01 20:17:49
从终端读取是从标准输入读取。作为一个实验,看看会发生什么,如果你尝试重定向来自/ dev/null的输入 – Perry 2012-03-01 20:46:48
我将如何形成该声明?/usr/bin/php -f /folder/email.php dev/null&? – dirknibleck 2012-03-01 22:45:18