问题
今天用nohup后台执行python程序,并将标准输出和错误输出重定向到一个log文件,但发现log文件隔好久才会更新,很煎熬。。。然而正常屏幕输出时候非常及时。
不确定程序是不是在正常运行。
运行脚本举例:
nohup python test.py > test.log 2>&1 &
原因
python的输出进行了缓冲,导致test.log并不能够马上看到输出。
解决方案
为python添加-u 参数,使得python不启用缓冲。
nohup python -u test.py > test.log 2>&1 &
并实时追踪文件输出到屏幕:
tailf test.log
本文介绍了一个常见问题:使用nohup后台执行Python程序并将输出重定向到日志文件时,日志更新延迟的问题。文章提供了具体实例,并详细解释了问题的原因及解决方案,包括如何通过添加-u参数来禁用输出缓冲。

被折叠的 条评论
为什么被折叠?



