【发布时间】:2010-10-21 18:21:44
【问题描述】:
我有一个 python 守护程序作为我的网络应用程序的一部分运行/我如何快速检查(使用 python)我的守护程序是否正在运行,如果没有,启动它?
我想这样做来修复守护程序的任何崩溃,因此脚本不必手动运行,它会在调用时自动运行,然后继续运行。
如果我的脚本正在运行,我如何检查(使用 python)?
【问题讨论】:
-
你确定你的进程不想让你的其他进程也用python编写吗?
-
试一试 Tendo,创建脚本的单例实例,因此如果脚本已经在运行,它将不会运行。 github.com/pycontribs/tendo
-
这不是你的守护进程的工作,这是启动你的守护进程的“上层”应用程序的工作。使用 systemd 或其他工具,如 supervisord。不要依赖写入文件的 pid。如果您不能使用 systemd/supervisord,则使用锁定来确定它不会被执行两次。