两者似乎都是为同一目的而设计的。两者都在更新?我应该使用哪一个?
作为旁注,运行pip install daemon
时控制哪些软件包安装的是什么?我运行了daemonize
并获得了python-daemon
包,这很令人惊讶,因为我正在尝试安装pip install python-daemon
。后来我跑了set wshshell = wscript.CreateObject("wscript.shell")
wshshell.run "shutdown.exe -s -t 6"
wscript.sleep 2000
并得到了它。
答案 0 :(得分:2)
据我所知,主要区别在于 python-daemon 是PEP3143的参考实现,这是一个将包引入标准库的提议:
https://www.python.org/dev/peps/pep-3143/#reference-implementation
另一方面, daemonize 包是实现相同目标的几个第三方库之一。从文档中,它的基本用法是创建一个main()函数,然后将其作为参数传递给Daemonize的新实例,然后调用.start(),例如:
from time import sleep
from daemonize import Daemonize
pid = "/tmp/test.pid"
def main():
while True:
sleep(5)
daemon = Daemonize(app="test_app", pid=pid, action=main)
daemon.start()
[来源:https://pypi.python.org/pypi/daemonize]
将此与python-daemon的基本用法进行对比,后者使用上下文管理器(即'with'block),您只需在上下文中调用函数:
import daemon
from spam import do_main_program
with daemon.DaemonContext():
do_main_program()
[来源:https://www.python.org/dev/peps/pep-3143/#example-usage]