.exe变成Windows服务)
- 场景
- 步骤 1: 安装 PyInstaller和win32serviceutil
- 步骤 2: 使用 PyInstaller 创建 .exe 文件
- 步骤 3: 检查生成的 .exe 文件
- 步骤 4: 安装服务
- 步骤 5: 启动服务
- 步骤 6: 配置服务自动启动(可选)
- 步骤 7: 检查服务状态
- 完整示例
场景
使用 PyInstaller
和 win32serviceutil
模块将Python脚本转换成一个可执行的 .exe
文件,并将其安装为Windows服务。
步骤 1: 安装 PyInstaller和win32serviceutil
pip install pyinstaller
pip install pywin32
步骤 2: 使用 PyInstaller 创建 .exe 文件
举个例子👇
pyinstaller -w -F -i f7.ico --name=demo.exe test02.py
-w 以窗口化模式运行程序,不会显示控制台窗口
-F 将程序打包成一个单独的可执行文件
-i f7.ico 使用 f7.ico 作为生成的可执行文件的图标
--name=demo.exe 生成的可执行文件命名为demo.exe
test02.py 指定要打包的 Python 脚本文件
步骤 3: 检查生成的 .exe 文件
PyInstaller 会在当前目录生成一个 dist
目录,在 dist
目录下生成一个 .exe
文件。
步骤 4: 安装服务
确保你的 Python 脚本中已定义服务类并使用了 win32serviceutil 模块。
使用以下命令安装服务:
demo.exe install
步骤 5: 启动服务
安装服务后,你可以使用以下命令启动服务:
demo.exe start
步骤 6: 配置服务自动启动(可选)
如果你想让服务在系统启动时自动启动,可以使用 sc
命令配置服务的启动类型:
sc config 服务名称 start= auto
步骤 7: 检查服务状态
你可以使用以下命令检查服务的状态:
sc query 服务名称
完整示例
假设你的Python脚本名为 RealTimeUserMonitoring.py
,以下是完整的命令:
-
安装 PyInstaller:
pip install pyinstaller pywin32
PyInstaller 创建
.exe
文件:pyinstaller --onefile --add-data "config.json;." RealTimeUserMonitoring.py
-
检查生成的
.exe
文件:在
dist
目录下找到RealTimeUserMonitoring.exe
并运行它。 -
安装服务:
cmd进入dist目录下:
RealTimeUserMonitoring.exe install
-
启动服务:
RealTimeUserMonitoring.exe start
-
配置服务自动启动(可选):
sc config UserMonitoringService start= auto
-
检查服务状态:
sc query UserMonitoringService
通过以上步骤,可以将 Python 脚本转换为 Windows 服务。