通过winsw实现windows服务,实现开机自启动

在windows上运行Springboot打包jar,如何后台运行及注册成Windows服务?

一、winsw (Windows Service Wrapper)

使用winsw,可以简单实现。winsw是用c#写的一个小工具。
所以运行需要”.NET framework“,现在Win10上都自带.NET framework4.0

原理其实是winsw.exe本身可以注册为windows服务,可以设置为自启动。
当他启动后,然后根据和此exe同名的xml文件中的配置,执行设置的命令,达到自启动的效果。

winsw的开源地址:https://github.com/winsw/winsw
目前稳定版本是v2.11.0,下载链接:https://github.com/winsw/winsw/releases/tag/v2.11.0
在这里插入图片描述
根据.Net Framework版本下载即可,如:WinSW.NET4.exe
sample-minimal.xml 是一个最小配置的列子。
sample-allOptions.xml 是一个全部可配置参数的例子。

二、查看.NET Framework版本

1、在地址栏上输入“C:\Windows\Microsoft.NET\Framework”,按回车键
2、可以看到.NET Framework版本。可以看到最高版本为4.0
在这里插入图片描述

三、修改及设置

1、把winsw.exe改名为有意义名称,比如apiServer.exe。
因为注册后服务启动的exe就是这个exe,所以修改后便于管理和识别。
修改sample-minimal.xml 为和exe同名文件,如apiServer.xml
把apiServer.exe和apiServer.xml放在和jar相同目录即可。

2、xml设置

<service>
  <id>apiServer</id>
  <name>apiServer</name>
  <description>Api 服务</description>
  <startmode>Automatic</startmode>
  <executable>java</executable>
  <arguments>-jar api-proj.jar</arguments>
</service>

相关参数说明如下:

  1. id:安装windows服务后的服务ID,必须是唯一的。
  2. name:服务名称,也必须是唯一的。一般和id一致即可。
  3. description:服务说明,可以使用中文,可做备注使用。
  4. executable:执行的命令,比如启动springboot应用的命令java。
  5. arguments:命令执行参数,比如 包路径,类路径等。

四、安装服务

以管理员身份执行cmd,切换到exe所在目录,执行如下命令即可。

apiServer.exe install

除install之外,还有如下命令:

  • uninstall:删除服务
  • start:启动服务
  • stop:停止服务
  • restart:重启服务
  • status:查看状态
  • 14
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值