windows添加自启服务

  • 内容
  • 评论
  • 相关

最简单的方法是使用: NSSM - Non-Sucking Service Manager。 只需下载并解压缩到您选择的位置。它是一个独立的实用程序,大约 300KB(比为此目的安装整个 pywin32 套件要少得多)并且不需要“安装”。该 zip 包含该实用程序的 64 位和 32 位版本。两者都应该在当前系统上运行良好(您可以使用 32 位版本来管理 64 位系统上的服务)。

图形界面方法

1 - 将 python 程序安装为服务。以管理员身份打开 Win 提示符

c:\>nssm.exe install WinService

2 - 在 NSSM 的 GUI 控制台上:

路径:C:\Python27\Python27.exe

启动目录:C:\Python27

参数:c:\WinService.py

3 - 检查 services.msc 上创建的服务

脚本方法(无 GUI)

如果您的服务应该是自动化的、非交互式过程的一部分,这可能是您无法控制的,例如批处理或安装程序脚本,这将很方便。假设这些命令是以管理权限执行的。

为方便起见,此处通过简单地将实用程序称为 nssm.exe 来描述命令。但是,建议在脚本中使用其完整路径 c:\path\to\nssm.exe 更明确地引用它,因为它是一个独立的可执行文件,可能位于系统不知道的私有路径中。

1.安装服务

您必须指定服务的名称、正确的 Python 可执行文件的路径以及脚本的路径:

 nssm.exe install ProjectService "c:\path\to\python.exe" "c:\path\to\project\app\main.py"

更明确地说:

 nssm.exe install ProjectService
nssm.exe set ProjectService Application "c:\path\to\python.exe"
nssm.exe set ProjectService AppParameters "c:\path\to\project\app\main.py"

或者,您可能希望您的 Python 应用程序作为 Python 模块启动。一种简单的方法是告诉 nssm 它需要更改到正确的起始目录,就像您从命令 shell 启动时自己做的那样:

 nssm.exe install ProjectService "c:\path\to\python.exe" "-m app.main"
nssm.exe set ProjectService AppDirectory "c:\path\to\project"

这种方法适用于虚拟环境和自包含(嵌入式)Python 安装。只需确保使用常用方法正确解决了这些环境中的任何路径问题即可。 nssm 可以根据需要设置环境变量(例如 PYTHONPATH),还可以启动批处理脚本。

2.启动服务

nssm.exe start ProjectService

3.停止服务

nssm.exe stop ProjectService

4.删除服务 指定 confirm 参数跳过交互确认。

 nssm.exe remove ProjectService confirm

C:\Users\voidcat\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\Scripts

评论

0条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注