我无法在Amazon Linux实例中运行后台进程,但在Mac OS X上运行相同的
我正在尝试通过cmd行运行php脚本。 如果我不附加&最后的角色。 如果我追加&amp ;,它的T为其STAT
以下是发生的事情
[root@someIp somePath]# php /path/to/myPhpScript.php arg1 arg2 arg3 > /dev/null 2>log.txt &
[1] 17849
[root@someIp somePath]# jobs
[1]+ Stopped php /path/to/myPhpScript.php arg1 arg2 arg3 > /dev/null 2>log.txt
[root@someIp somePath]# bg 1
[1]+ php /path/to/myPhpScript.php arg1 arg2 arg3 > /dev/null 2>log.txt &
[1]+ Stopped php /path/to/myPhpScript.php arg1 arg2 arg3 > /dev/null 2>log.txt
[root@someIp somePath]#
但如果我没有&它很好。
[root@someIp somePath]# php /path/to/myPhpScript.php arg1 arg2 arg3
Prints some output...
Prints some output...
Prints some output...
Prints some output...
Done...
[root@someIp somePath]#
相同情况:https://forums.aws.amazon.com/thread.jspa?messageID=281552
谢谢!
答案 0 :(得分:2)
我自己想出来了。
出于某种原因,它被停止了,因为它认为它需要来自键盘的某种输入。 为:
0:标准输入(通常是键盘)
1:标准输出(通常是监视器)
2:标准错误
所以我添加了从/ dev / null读取的标准输入。
我修改了我的cmd,如下所示:
# php /path/to/myPhpScript.php arg1 arg2 arg3 0</dev/null 1 >/dev/null 2>log.txt &
OR
# php /path/to/myPhpScript.php arg1 arg2 arg3 </dev/null >/dev/null 2>log.txt &
谢谢! :)