![Python 脚本长时间运行时停止响应](https://linux22.com/image/587308/Python%20%E8%84%9A%E6%9C%AC%E9%95%BF%E6%97%B6%E9%97%B4%E8%BF%90%E8%A1%8C%E6%97%B6%E5%81%9C%E6%AD%A2%E5%93%8D%E5%BA%94.png)
我在 Ubuntu 11.10 中将 Python 脚本作为服务运行(为此使用 upstart)。启动时,脚本运行良好并按预期响应。但是,脚本在后台运行很长时间(比如说 12 小时左右)而没有任何活动(用户请求)后,它会停止响应。在我检查后台进程列表后,它仍在运行。
我知道由于不活动它会进入睡眠状态,但是在收到用户请求时它应该按预期做出响应不是吗?
但是在终止服务并重新启动之后,它又开始正常工作。
答案1
您是否尝试过完全脱离控制终端运行此 python 脚本,并以用户身份运行该作业超过 12 小时?
尝试一下这个并放置 12 个小时以上,看看会发生什么:
http://upstart.ubuntu.com/cookbook/#checking-how-a-service-might-react-when-run-as-a-job
据推测,您还可以让您的守护进程定期将状态信息记录到文件中,以帮助您诊断问题。