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错误不会这样,一旦脚本中止它们就不会出现在文件中?
我找到了原因.这真的是缓冲问题(见上面的编辑).:)
nohup python3 -u ./myscript.py > ./mylog.log &
Run Code Online (Sandbox Code Playgroud)
使用python -u参数它可以工作.它禁用缓冲.
现在我可以去寻找虫子......
| 归档时间: |
|
| 查看次数: |
2840 次 |
| 最近记录: |