我需要检测程序何时崩溃或没有使用python运行并重新启动它.我需要一个不一定依赖python模块作为父进程的方法.
我正在考虑实现一个基本上做的while循环
ps -ef | grep process name
当找不到该过程时,它会启动另一个过程.也许这不是最有效的方法.我是python的新手,所以可能有一个python模块已经这样做了.
为什么要自己实施呢?像守护进程或Debian 这样的现有实用程序start-stop-daemon
更有可能在运行长期服务器进程时获得其他困难的东西.
无论如何,当你启动服务时,将其pid放入/var/run/
,然后让你的ps
命令只查找该进程ID,并检查它是否是正确的进程.在Linux上,您只需查看/proc/
它是否指向正确的可执行文件.