我有一个使用python-daemon库的python实现的守护进程。在
但是,守护进程似乎会周期性地死亡(或被杀死),其中周期性地从一天到几个月不等。在
我试图通过捕捉异常,将它们记录到一个文件中,然后将它们发送给我,从而找到守护进程死亡的原因。脚本中的守护程序部分大致如下:
import daemon
context = daemon.DaemonContext(
working_directory='/foo/',
pidfile=lockfile.FileLock('/foo/foo.pid')
)
try:
with context:
do_stuff()
except Exception, e:
log_exception_to_file(e)
mail_exeption_to_me(e)
我已经记录了很多异常并将其发送给我,因此我知道代码通常都能正常工作。在
在大多数情况下,我什么都得不到,一个看门狗脚本提醒我,守护进程不再运行。有没有什么方法可以让我找出或追踪为什么守护进程要么死亡要么被杀死?在
当你邮寄东西的时候,检查一下内存消耗。可能是内存泄漏,当它消耗了所有可用的RAM时就死了。
resource
模块将让应用程序找出它的maxrss、ixrss、idrss和isrss,如果你每5分钟记录一次,那么是否发生内存泄漏就很明显了。在相关问题 更多 >
编程相关推荐