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
发表回复