如何在 Python 中创建 Windows 服务?

Posted

技术标签:

【中文标题】如何在 Python 中创建 Windows 服务?【英文标题】:How to create a Windows Service in Python? 【发布时间】:2013-09-02 09:18:22 【问题描述】:

当今使用在 Win XP 和 Win 7 中运行的 Python 2.7(或 Python 3)创建 Windows 服务最有效和最好的方法是什么?如何为其创建适用于 WinXP、Win7 的安装程序?此外,自动更新此类服务的常用方法是什么?它可以下载新版本并重新启动吗?

对于基于 Python 的服务,是否存在一些使用 C++ 而不是 Python 更容易解决的问题?

我需要实现一个简单的 Windows 服务,它每小时发送 1 个 HTTP 请求并分析响应。

想了解哪种方式在服务稳定性、开发速度和与不同版本windows的兼容性方面最好:WinXP、Win7(,win8?):使用C++/visual studio/CURL还是使用Python?我觉得自己对 C++ 更有经验,但是在 Python 中实现 HTTP 代码和服务逻辑更容易。

【问题讨论】:

在下面查看我的答案,它应该可以解决问题***.com/questions/5692921/… 您已经问了几个重要的问题。请只选择一个。 【参考方案1】:

试试这个过程

sc create "[YourService]" binPath= "C:\Program Files\Windows Resource Kits\srvany.exe"

现在,运行 regedit。在注册表编辑器对话框中选择

HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > [YourService]

现在,运行 regedit。在注册表编辑器对话框中选择

HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > [YourService]

选中[YourService],点击工具栏中的Edit > New > Key

输入参数并回车。

从工具栏中选择Edit > New > String Value

键入应用程序并按回车键。

右键单击应用程序并选择修改。

C:\Python27\python.exe C:\[YourServicePath].py

点击确定按钮。

您的新服务已创建。

【讨论】:

这是一个关于在我的机器上启动 python 代码作为服务的教程。但我想要一个安装程序,可以在任何 winXP、Win7 机器上部署服务。 这个过程和“python servicepathname.py install”有什么区别。后者应该和前者一样吗?

以上是关于如何在 Python 中创建 Windows 服务?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中创建 GUID/UUID

如何使用 C++ 在 Windows 中创建守护线程?

如何在 Python 中创建 Socket.io 客户端以与 Sails 服务器通信

在 AWS 中创建 python 服务器而不违反免费套餐

如何在不包含父目录的 Python/tar 中创建 tar.gz 存档?

安装在 Visual Studio 中创建的 Windows 服务