我有一个需要很长时间才能在后台运行的命令,如下所示:
python3 script.py -f input.key -o output >> logs/script.log 2>&1 &
在命令确实在后台的意义上,这可以很好地工作,以后我可以检查输出和潜在的错误。
主要问题是仅在命令完全完成后才附加输出,而我希望拥有最新的日志消息,因此我要检查进度。
因此,当前日志将为空,然后突然在08:30出现两行:
[08:00] Script starting...
[08:30] Script finished!
相反,我想在命令完全完成之前将输出保存到文件中。
答案 0 :(得分:1)
由于您正在调用Python
脚本,因此需要使用-u
选项,该选项将强制stdout
和stderr
流不被缓冲。
$ python3 -u script.py -f input.key -o output >> logs/script.log 2>&1 &
您可以定期使用cat
或结合watch
实时查看日志:
$ watch cat logs/script.log