我使用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)
我已经记录了很多异常并邮寄给我,所以我知道代码通常可以工作。
在大多数情况下,我什么也得不到,看门狗脚本会提醒我守护程序不再运行。有什么方法可以找出或跟踪守护进程死亡或被杀死的原因吗?