Python - nohup.out 不显示打印语句



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

nohup ../bin/pserve development.ini  

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

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

您可以使用

nohup python -u python_script.py &

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

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

打印输出在不到终端时进行缓冲。nohup将stdout替换为非终端(实际上是一个文件)。

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

最新更新