【问题标题】:What is the de facto library for creating Python Daemons什么是用于创建 Python 守护进程的事实上的库
【发布时间】:2011-06-15 00:31:15
【问题描述】:

我正在尝试使用python-daemon 库,这在我看来是创建守护进程而不忘记任何内容的最安全方法。文档很差,只是PEP 3143

另一方面,我发现了很多指向 Sander Marechal 的 A simple unix/linux daemon in Python 的链接。这看起来是一个更好的解决方案,或者虽然我还没有尝试使用它。

编辑:我使用了 Sander Marechal 的解决方案,它似乎运行良好。


那么在 Python 社区中创建守护进程的实际方式是什么,是这些库中的一个,还是只是自己完成所有事情(分叉两次等)?

此外,您会认为任何具有 PE​​P 的库都会是一个更好的选择,因为它比任何其他解决方案更接近于创建守护程序的综合方式(或至少是更标准的方式)。那么这个python-daemon 包是怎么回事,它会被包含在标准库中吗?

【问题讨论】:

  • python-daemon 1.6 版?
  • (自我回答的)答案中引用的 Sander Marechal 链接在两个地方都被破坏了。已更正

标签: python daemon python-daemon


【解决方案1】:

我选择了 Sander Marechal 的 A simple unix/linux daemon in Python,它很简单,您可以通过创建一个子类并覆盖 run() 方法来使用它,这感觉是一种非常自然的做事方式(而不是 python-daemon 模块的with context: 方法。

【讨论】:

  • 更正了断开的链接。还检查了新链接和 web-archive 上的链接是否是相同的模数空白差异。
  • 您可以分别分享实现和参考链接。参考链接已损坏...
  • @lapestand 你必须原谅我不再有足够的知识来回答这个问题;由于九年过去了。
【解决方案2】:

为了使守护程序能够与操作系统中的各种运行程序正常工作(例如initsystemdlaunchd),the python-daemon library 是事实上的方式只写守护进程部分,让操作系统正确完成剩下的工作。

【讨论】:

    【解决方案3】:

    Twisted 自带twistd。

    http://twistedmatrix.com/documents/current/core/howto/basics.html

    您可以将您的应用程序包装为 twistd 的插件。

    【讨论】:

    • 如果你只想创建一个守护进程,这不是一个非常大的要求吗?
    • 我同意。对于新应用程序,值得考虑。
    猜你喜欢
    • 2018-09-12
    • 2016-06-12
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2010-10-27
    相关资源
    最近更新 更多