【发布时间】:2019-07-20 09:49:22
【问题描述】:
我有一个需要很长时间的命令,我喜欢像这样在后台运行:
python3 script.py -f input.key -o output >> logs/script.log 2>&1 &
这非常有效,因为该命令确实在后台,我可以稍后检查输出和潜在错误。
主要问题是仅在命令完全完成后才附加输出,而我希望获得最新的日志消息,因此我检查了进度。
所以目前日志是空的,然后在 08:30 突然出现两行:
[08:00] Script starting...
[08:30] Script finished!
相反,我希望在命令完全完成之前将输出保存到文件中。
【问题讨论】:
-
你能告诉我们你是如何从 python 打印的吗?如果我记得有些电话被缓冲了,你可能不得不打电话给
sys.stdout.flush() -
我使用常规的
print()语句。缓冲确实是问题所在,您的解决方案也可能有效。