nohup和python没有错误消息?

hor*_*ace 4 python debugging exception nohup stderr

我在Linux服务器上运行一个python脚本,其中包含nohup:

nohup python3 ./myscript.py > ./mylog.log &
Run Code Online (Sandbox Code Playgroud)

它工作,脚本写日志文件,但问题是python错误消息/抛出异常似乎没有写入日志文件.我怎么能实现这个目标?

这与stderr有关吗?(但是当我启动脚本时,它说:"nohup:将stderr重定向到stdout".)

这是一个长时间运行的脚本,过了一段时间,有时脚本因为某些问题而停止工作,并且缺少错误消息,我不知道为什么.问题总是在几天后发生,所以调试真的很麻烦.

编辑:它可能与flush有关吗?由于我自己的打印使用flush但可能python错误不会这样,一旦脚本中止它们就不会出现在文件中?

hor*_*ace 9

我找到了原因.这真的是缓冲问题(见上面的编辑).:)

nohup python3 -u ./myscript.py > ./mylog.log &
Run Code Online (Sandbox Code Playgroud)

使用python -u参数它可以工作.它禁用缓冲.

现在我可以去寻找虫子......