我在 linux 服务器上用 nohup 运行一个 python 脚本:
nohup python3 ./myscript.py > ./mylog.log &
它有效并且脚本写入日志文件,但问题是 python 错误消息/抛出的异常似乎没有写入日志文件。我怎样才能做到这一点?
这与标准错误有关吗? (但是当我启动脚本时它说:“nohup:将 stderr 重定向到 stdout”。)
这是一个长时间运行的脚本,一段时间后脚本有时会因为某些问题而停止工作,并且缺少错误消息我不知道为什么。问题总是在几天后发生,所以调试起来真的很痛苦。
编辑: 它可能与冲洗有关吗?由于我自己的打印使用 flush 但也许 python 错误没有,所以一旦脚本中止它们就不会出现在文件中?
最佳答案
我找到原因了。这真的是缓冲问题(见我上面的编辑)。 :)
nohup python3 -u ./myscript.py > ./mylog.log &
使用 python -u 参数就可以了。它禁用缓冲。
现在我可以去寻找漏洞了...
关于python - nohup 和 python 没有错误消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17163413/