python - 在 Windows 中将 python .py 作为服务启动

标签 python windows-services

我已经创建了一个 Windows 服务来启动 .py 脚本。

sc create "Maraschino" binPath= "C:\HTPC\Maraschino\maraschino-cherrypy.py" DisplayName=    "Maraschino" depend= "Tcpip"

然后我添加了一个注册表项来链接 .py 以使用 python.exe 打开

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Maraschino\Parameters]
"AppDirectory"="C:\\Python27"
"Application"="C:\\Python27\\python.exe C:\\HTPC\\Maraschino\\maraschino-cherrypy.py"

但是,当我尝试启动该服务时,出现错误 193 0xc1,用谷歌搜索时显示它不是我尝试启动的有效 exe。我知道它不是 .exe 而是 .py 并将其链接以使用 python.exe 打开应该可以解决此问题,但我出错了。在链接脚本以使用 python.exe 时,有没有人知道我可能做错了什么

谢谢

最佳答案

您可以使用 srvany.exe 执行此操作,它是 Microsoft 专用于此类任务的工具。

首先,下载并安装 Windows Resource Kit . 注意:您只需要 srvany.exe,它适用于所有版本的 Windows。

假设 Windows Resource Kit 安装在 C:\Program Files\Windows Resource Kits\运行:

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

现在,运行 regedit

在注册表编辑器对话框中选择 HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > [YourService]

选择 [YourService] 后,点击工具栏中的编辑 > 新建 > 键。

键入参数并按回车键。

从工具栏中选择“编辑”>“新建”>“字符串值”。

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

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

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

点击确定按钮。

砰!你有一个不错的新服务。

关于python - 在 Windows 中将 python .py 作为服务启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8666373/

相关文章:

python - Numpy quirk : Apply function to all pairs of two 1D arrays, 获取一个二维数组

python - 如何优化ulam螺旋无限迭代器?

python - 在带有 QT4 的 Python 中使用像素图或图像序列制作动画

python - PyFMI FMU 模块方法 get_variable_unit() 常量

elasticsearch - Windows无法在本地启动Elastic Search Service 7.4.2

c# - Windows 服务在特定分钟内每小时运行一次

python - 了解 dask 中的 map_partitions 的作用

java - 在 Windows 服务中运行 Spring Integration;不为 "Trigger"入站

mongodb - 启动运行 Mongo DB 1.6.3 的 Windows XP 服务时出现错误 1053

c# - Windows 服务上的多个计时器未正确触发