将自己的服务注册成Windows服务
参考:
https://blog.csdn.net/qgbihc/article/details/121805661
http://t.zoukankan.com/zys-blog-p-13164197.html
windows上运行jar包时,或者其他exe服务,关闭cmd窗口,服务就会关闭。可以通过winsw注册服务的方式,将它们注册成服务在后台保持运行。
1 winsw下载地址
https://github.com/winsw/winsw/releases
2 注册方式
- 将WinSW.exe复制到自定义的目录,并重命名为自己想命名的服务名称,比如minio-server.exe
- 同目录下创建minio-server.xml。特别注意,xml和exe必须同名
- 配置minio-server.xml文件
- 使用minio-server.exe install安装服务
3 xml配置信息
<service>
<id>javaServer</id>
<name>javaServer</name>
<description>java Server</description>
<executable>java</executable>
<arguments>-jar JavaTest.jar</arguments>
</service>
相关参数说明如下:
- id:安装windows服务后的服务ID,必须是唯一的。
- name:服务名称,也必须是唯一的。一般和id一致即可。
- description:服务说明,可以使用中文,可做备注使用。
- executable:执行的命令,比如启动springboot应用的命令java。
- arguments:命令执行参数,比如包路径,类路径等。
4 相关命令
命令 | 说明 |
---|---|
install | 安装注册服务 |
uninstall | 删除服务 |
start | 启动服务 |
stop | 停止服务 |
restart | 重启服务 |
status | 查看状态 |
5 示例:exe服务注册
这里以minio.exe为例。
5.1 配置信息
<service>
<id>minio-server</id>
<name>minio-server</name>
<description>file manage server</description>
<executable>minio.exe</executable>
<arguments>server data</arguments>
</service>
更详细的配置信息(http://t.zoukankan.com/zys-blog-p-13164197.html):
<service>
<id>minio-server</id>
<name>minio-server</name>
<description>minio文件存储服务器</description>
<!-- 可设置环境变量 -->
<env name="HOME" value="%BASE%"/>
<executable>%BASE%minio.exe</executable>
<arguments>server "%BASE%data"</arguments>
<!-- <logmode>rotate</logmode> -->
<logpath>%BASE%logs</logpath>
<log mode="roll-by-size-time">
<sizeThreshold>10240</sizeThreshold>
<pattern>yyyyMMdd</pattern>
<autoRollAtTime>00:00:00</autoRollAtTime>
<zipOlderThanNumDays>5</zipOlderThanNumDays>
<zipDateFormat>yyyyMMdd</zipDateFormat>
</log>
</service>
5.2 服务注册
D:\software\minio>minio-server.exe install
2022-05-09 00:06:04,863 INFO - Installing the service with id 'minio-server'
D:\software\minio>
5.3 结果
如图,服务已经注册成功。