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

2024-06-02 01:04:41 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

然后我添加了一个注册表项,用python.exe将.py链接到open

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,当google显示它不是我试图启动的有效exe时。我知道它不是.exe而是.py,用python.exe将其链接到open应该可以解决这个问题,但我犯了一个错误。有没有人知道我在将脚本链接到使用python.exe时可能做错了什么

谢谢


Tags: py脚本链接windows错误createopenexe
3条回答

我不知道sc是如何工作的,但我认为这一定是将参数传递给二进制文件的某种方式,因此您可以尝试注册“C:\ Python27\python.exe C:\ HTPC\Maraschino\Maraschino cherrypy.py”。

您也可以尝试py2exe:)

@Ohad的更新。首先要将srvany.exe部署到所有计算机上

步骤1:

  • 下载并安装Windows资源工具包。
  • 在“我的”框中找到:C:\程序文件(x86)\ Windows资源工具包\Tools\srvany.exe。
  • 然后打开命令提示符并点击

    sc create“[YourService]”binPath=“C:\程序文件(x86)\ Windows资源工具包\Tools\srvany.exe”start=auto DisplayName=”[您的服务监视器]”

    [SC]CreateService成功

第2步:创建一个包含以下内容的file.reg并双击它

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\[YourService]\Parameters]
"Application"="C:\\[YourService Executable].exe"

步骤3:现在启动服务,它将执行您在file.reg中分配的内容

完成

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

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

假定Windows资源工具包安装在C:\程序文件\ Windows资源工具包\运行:

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

按“确定”按钮。

砰!你的新服务很好。

相关问题 更多 >