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

Mic*_*ves 8 python windows-services

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

sc create "Maraschino" binPath= "C:\HTPC\Maraschino\maraschino-cherrypy.py" DisplayName=    "Maraschino" depend= "Tcpip"
Run Code Online (Sandbox Code Playgroud)

然后我添加了一个注册表项来链接.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"
Run Code Online (Sandbox Code Playgroud)

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

谢谢

Oha*_*had 16

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

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

假设Windows资源工具包安装在C:\ Program Files\Windows资源工具包\运行:

sc create "[YourService]" binPath= "C:\Program Files\Windows Resource Kits\srvany.exe"
Run Code Online (Sandbox Code Playgroud)

现在,运行regedit.

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

选择[YourService]后,从工具栏中点击编辑>新建>密钥.

键入参数,然后回车.

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

键入应用程序,然后回车.

右键单击Application,然后选择Modify.

C:\Python27\python.exe C:\[YourServicePath].py
Run Code Online (Sandbox Code Playgroud)

点击OK按钮.

繁荣!你有一个很好的新服务.