PHP exec()nohup带重定向

时间:2015-05-12 07:31:20

标签: php exec stdout stderr nohup

我正在尝试使用exec()执行命令并将stdout和stderr重定向到文件。

exec("nohup python main.py -i 1 > /var/scripts/logs/1_out.log 2>&1 &");

它会创建文件,但不会打印任何内容。

如果我在终端中运行命令,所有输出都没有问题。

1 个答案:

答案 0 :(得分:0)

搞定了。 Python做了自己的输出缓冲,使其无法写入文件。使用-u选项运行它会禁用此功能。最终代码如下所示:

exec("nohup python -u main.py -i 1 > /var/scripts/logs/1_out.log 2>&1 </dev/null &");

感谢。