报错场景
Linux服务器利用命令"nohup python main.py &"启动进程或服务,运行一段时间后抛出该错误。
报错原因
nohup 在本地执行的时候,会自动重定向 stderr 到 stdout 中,远程执行的时候重定向到了 pipe 上,在 ssh 连接断开后就出现了 broken pipe 错误。(参考:http://icejoywoo.github.io/2019/03/15/python-broken-pipe-error.html)
解决办法
nohup python main.py > xxx.log 2> xxx.stderr.log &
使用上述命令,增加对 stderr 重定向。