介绍
Windows Service Wrapper是一个可执行二进制文件,可用于包装和管理作为Windows服务的自定义进程。下载安装包后,您可以将 WinSW.exe 重命名为任何名称,例如 MyService.exe 。接下来您可以创建Myservice.xml文件进行服务配置。最后 MyService.exe install安装到服务即可。
下载地址1: https://github.com/winsw/winsw/releases
下载地址2: https://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/
使用
- 创建start.bat文件,用于启动服务时,启动进程。(jar包名称,根据实际情况改动)
java -jar test.jar
- 创建stop.bat文件,用于关闭服务时,关闭进程。(端口号,根据实际情况改动)
@echo off
title 关闭某一端口
set port=8088
for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do (taskkill /f /pid %%m)
pause
- 将下载好的winsw.exe改名,例test-service.exe。(名称,根据实际情况改动)
- 创建xml配置文件,例test-service.xml。(名称,要求和exe文件名称一致)
<service>
<id>Test</id>
<name>Test Service</name>
<description>Test Jar</description>
<executable>C:\Users\Administrator\Desktop\test\start.bat</executable>
<stopexecutable>C:\Users\Administrator\Desktop\test\stop.bat</stopexecutable>
</service>
id,服务id,在启动、关闭服务时都要用到,和已有windows服务不冲突即可
name,服务名称,在windows服务列表展示
description,服务描述,在windows服务列表展示
executable,服务启动时执行的脚本文件地址(根据实际情况改动)
stopexecutable,服务关闭时执行的脚本文件地址(根据实际情况改动)
- 执行安装命令
#服务安装(名称,根据实际情况改动)
test-service.exe install
#测试启动服务(在xml文件中自定义的服务id)
net start test
#测试关闭服务(在xml文件中自定义的服务id)
net stop test
- 不再使用时,卸载服务
#卸载服务(在xml文件中自定义的服务id)
sc delete test