2014-05-14 136 views
2

我正在研究我的Python脚本的守护进程,并且我找到了一些可以帮助的库:daemonicdaemonizedaemon。他们每个人都有一些问题:当他们无法创建PID文件可选择守护进程Python进程

  • daemonicdaemonize将终止。守护进程甚至不会记录或打印任何内容。查看代码,他们实际上调用os.exit()。我想要一个异常或其他错误消息,所以我可以在后台运行我的代码。
  • daemondoesn't even install correctly Python 3.看到最后一次提交是在2010年,我不希望任何更新很快​​(如果有的话)。

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

回答

1

我使用两种解决方案

  • 基于supervisor

两种封装都用Python编写的,并daemonizing什么,什么可以从命令行运行基于zdaemon

  • 。要求是,要运行的命令在前台运行,而不是试图自我守护。

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

    请注意,由于它控制通用命令行驱动的程序,因此它不需要python版本与受控代码相匹配。