Python - nohup.out不显示print语句

时间:2014-09-04 20:38:34

标签: python nohup

我是python和web开发的新手,我有一个基本的问题我相信 我用金字塔运行我的服务器,并使用nohup.out将输出写入文件。

nohup ../bin/pserve development.ini  

当我做tail -f nohup.out时 我可以在代码中看到来自logging.info()调用的所有输出 但我没有看到print()来电的所有输出。

这是什么原因,我如何设置它会在nohup文件中看到print()?

3 个答案:

答案 0 :(得分:10)

您可以使用stdbuf -oL来刷新print语句。命令看起来像

nohup stdbuf -oL python python_script.py > nohup.out &

答案 1 :(得分:4)

您可以使用

nohup python -u python_script.py &

答案 2 :(得分:2)

当没有到终端时,打印输出被缓冲。 nohup将stdout替换为非终端(实际上是文件)。

在没有任何代码的情况下,我所能做的就是猜测,但最可能的答案是你的输出在python进程中被缓冲,当缓冲区填充时,它将被刷新到nohup.out。要查看是否是这种情况,请尝试添加更多打印件以更快地填充缓冲区。