(可选)守护Python进程

时间:2014-05-14 08:01:16

标签: python daemon

我正在研究我的Python脚本的守护程序,我找到了一些可以提供帮助的库:daemonicdaemonizedaemon。他们每个人都有一些问题:

  • daemonicdaemonize将在无法创建PID文件时终止。 daemonic甚至不会记录或打印任何东西。查看代码,他们实际上会调用os.exit()。我想要一个异常或其他错误消息,因此我可以回退到在前台运行我的代码。
  • daemon doesn't even install correctly用于Python 3.看到最后一次提交是在2010年,我不希望很快就会有任何更新(如果有的话)。

我如何移植(Python2和3)以及可选(回到前台运行)创建一个守护进程的Python脚本?当然,我可以在启动时使用&运算符后退,但我想实现PEP3143

1 个答案:

答案 0 :(得分:1)

我正在使用两种解决方案

  • 基于zdaemon
  • 基于supervisor

这两个软件包都是用Python编写的,并且可以保护任何东西,可以从命令行运行。要求是,要运行的命令在前台运行而不是尝试守护自身。

supervisor甚至是Linux发行版的一部分,即使它有点过时的版本,它也非常有用。

注意,因为它控制一般的命令行驱动程序,所以它不需要python版本与受控代码匹配。