WinSW将Python项目封装成Windows服务(软件开机自启)

目录

1、找到my_script.py(项目主函数)的文件:

2、创建批处理文件:创建一个批处理文件(例如,run.bat)

3、下载配置WinSW:

4、创建XML配置文件:

5、安装和启动服务:

6、停止或卸载服务

7、修改代码重启服务


1、找到my_script.py(项目主函数)的文件

2、创建批处理文件:创建一个批处理文件(例如,run.bat)

在该文件中调用你的Python脚本。例如,你可以在run.bat文件中写入以下内容:


注意:这里的python.exe应该是你的Python解释器的路径,path_to_your_python_script\my_script.py应该是你的my_script.py脚本的路径

例子:

C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe\D:\biot\SIPMS\my_script.py
pause

3、下载配置WinSW


将下载下来的WinSW-x64.exe文件复制到你的Python脚本所在的目录,并重命名为与你的Python脚本相同的名字(例如,my_script.exe)

4、创建XML配置文件

在同一目录下创建一个XML配置文件(例如,my_script.xml并在其中配置你的服务。配置文件应该包含如下内容:

<service>
  <id>my_script</id>
  <name>My Python Script</name>
  <description>This service runs my Python script.</description>
  <executable>path_to_your_batch_file\run.bat</executable>
  <logpath>path_where_you_want_to_store_log_files</logpath>
  <logmode>roll</logmode>
  <depend></depend>
  <startargument></startargument>
  <stopargument></stopargument></service>

注意:

这里的path_to_your_batch_file\run.bat应该是你的批处理文件的路径,path_where_you_want_to_store_log_files应该是你想要存储日志文件的路径
 

5、安装和启动服务:

打开命令提示符,导航到你的my_script.py所在的目录,然后运行以下命令来安装和启动你的服务

my_script install
my_script start

6、停止或卸载服务

现在,你的Python脚本应该已经作为一个Windows服务开始运行了。如果你想要停止或卸载服务,你可以使用以下命令

my_script stop
my_script uninstall

7、修改代码重启服务

每次修改代码该怎么重启服务

在服务里面找到相对应的服务时,点击右键去重启服务,会报错,服务重启不起来;

正确做法(目前这种方式可以解决,后面有更好的方法再去更新):

1)首先输入

my_script uninstall

看看能不能把服务关闭掉(在服务里面看该服务是不是已经不存在)

2)如果在服务里面还是显示服务正在运行,通过删除服务对应的ID删除,查找所有服务对应的ID

sc queryex state=all type=service

3)找到对 应服务的PID会把服务界面上显示的服务名称删除

taskkill /f /pid <进程编号>

4)打开my_script.exe文件位置,打开命令行,输入

my_script install

5)再输入

my_script start

此时服务已经重新起来了(我测试是可用的)

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值