将python程序注册成windows后台服务

需求:将python定时任务放到后台一直运行

之前使用的是pywin32模块,将程序安装之后却无法启动,error:服务没有及时响应启动或控制请求

于是使用了srvany.exe,instsrv.exe来注册服务。

1)安装pyinstaller

pip install pyinstaller

2)使用pyinstaller将程序打包成exe可执行文件。

pyinstaller -c -F 需要打包的py文件

3)从网上下载srvany.exe,instsrv.exe,放到一个文件夹中

4)按win+R键打开运行,输入cmd,点击确定进去命令提示符之后,在保存有instsrv.exe的目录输入类似如下命令

instsrv ServiceName ~\srvany.exe ,其中ServiceName是服务名,~\srvany.exe为srvany.exe所在地址的绝对路径。

如果提示没有权限,可以用管理员身份打开cmd。

将python程序注册成windows后台服务_第1张图片

5)按win+R键打开运行,输入regedit,点击确定,进入注册表编辑器,依次点击HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName

6)在ServiceName中新建Parameters项,然后在Parameters项中新建几个字符串值,其中Application为exe程序所在的路径地址, AppDirectory为exe程序所在的文件夹路径,AppParameters 为服务运行的程序启动需要的参数 

将python程序注册成windows后台服务_第2张图片

7)注册表设置好之后,我们就将exe程序注册成服务了,按win+R打开运行,输入services.msc,点击确定,进去之后,可以看到注册的ServiceName的服务,进行启动就可以启动exe程序了

将python程序注册成windows后台服务_第3张图片

你可能感兴趣的:(将python程序注册成windows后台服务)