我是python和web开发的新手,我相信我有一个基本的问题。
我正在使用金字塔运行我的服务器,并且我使用nohup.out将输出写入文件。
nohup ../bin/pserve development.ini
当我使用tail -f nohup.out
时
我可以在我的代码中看到来自logging.info()
调用的所有输出。
但我并没有看到print()
调用的所有输出。
出现这种情况的原因是什么?我如何设置才能在nohup文件中看到print()?
发布于 2017-10-24 19:28:45
您可以使用
nohup python -u python_script.py &
发布于 2015-09-11 10:04:43
您可以使用stdbuf -oL刷新打印语句。命令将如下所示
nohup stdbuf -oL python python_script.py > nohup.out &
发布于 2014-09-05 05:00:04
打印输出在未发送到终端时进行缓冲。nohup
用一个非终端(实际上是一个文件)替换了标准输出。
在没有任何代码的情况下,我所能做的就是猜测,但最可能的答案是,您的输出在python进程中进行缓冲,当该缓冲区填满时,它将被刷新到nohup.out
。要查看是否是这种情况,请尝试添加更多打印以更快地填满缓冲区。
https://stackoverflow.com/questions/25674613
复制相似问题