什么是创建Python守护程序的事实标准库?

25

我正试图使用python-daemon库来创建守护进程,因为这似乎是最安全的方法,不会漏掉什么。然而,文档相当贫乏,只有PEP 3143

另一方面,我发现了很多链接到Sander Marechal的Python中简单的unix/linux守护进程。这看起来是一个更好的解决方案,虽然我还没有尝试使用它。

编辑:我已经使用了Sander Marechal的解决方案,它似乎工作得很好。


那么,在Python社区中创建守护进程的事实标准方式是什么?是其中一个库还是自己做(forking两次等)?

此外,你可能认为任何带有PEP的库都是更好的选择,因为它比任何其他解决方案更接近创建守护进程的综合方法(或者至少更接近标准方法)。那么,这个python-daemon包怎么回事?它会被包含在标准库中吗?


Python-daemon的版本1.6? - Marcus Whybrow
Sander Marechal提供的链接在(自答)回答中的两个位置都已失效。已进行修正。 - Rusi
3个回答

10

我选择了Sander Marechal的Python实现的简单UNIX/Linux守护进程,它确实非常简单易用,你只需要创建一个子类并重写run()方法来使用它,这种方式非常自然(而不是python-daemon模块的with context:方式)。


修复了损坏的链接。同时检查了新链接和Web存档中的链接是否相同,除了空格差异。 - Rusi
1
你可以分别分享实现和参考链接。参考链接已经失效了... - user13051721
@lapestand,你得原谅我不再有足够的知识回答这个问题了,因为已经过去九年了。 - Marcus Whybrow

1

如果想要制作一个能够在各种操作系统(例如 initsystemdlaunchd)中正确运行的守护程序,python-daemon 是编写仅限守护程序部分并让操作系统正确完成其余工作的事实标准。


1

2
如果你只想创建一个守护进程,那么使用Twisted是否有点过于繁琐了? - Marcus Whybrow
我同意。对于一个新的应用程序,值得考虑。 - Eddy Pronk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接