项目简介
WinSW 是一款可在 Windows 系统中应用的开源工具。它能够让用户把任意可执行文件(例如 exe 或者 jar 文件甚至是 bat 脚本)包装转化为 Windows 服务,进而达成自动化管理的目的。通过使用 WinSW,用户可以毫不费力地进行服务的安装、启动、停止以及卸载操作。
主要特性
- 开源:WinSW基于MIT许可证,完全开源,允许自由修改和分发。
- 跨版本兼容:支持从Windows XP至Windows Server 2019等多个Windows版本。
- 可扩展:支持通过插件机制添加自定义行为,如发送邮件通知、记录额外的日志信息等。
- 安全可靠:遵循最小权限原则,服务运行时仅需有限的权限,提高了系统的安全性。
- 简洁易用:使用极其简单,只需要一个命令行接口和一个XML配置文件。
使用教程
需要前往Github开源仓库中下载对应的软件包:
https://github.com/winsw/winsw/releases

我这里给大家演示一下如何将 Jar 注册到系统服务中,我们将下载好的 WinSW 工具和Jar包放在一起,如图:

我们需要将WinSW-x64.exe重新命名成plugin.exe(这里命名根据自己随意命名),然后同时创建一个与exe同名的xml文件,最终效果如图:

核心的配置都在xml中:

常见的关键元素的解释:
- id:服务的唯一标识符。
- name:服务的显示名称。
- description:服务的描述。
- executable:要运行的程序的路径。
- arguments:传递给程序的参数。
- startmode:服务的启动类型
Automatic(自动)、Manual(手动)或Disabled(禁用)。 - depend:服务依赖的其他服务。
- logpath:日志文件的存放路径。
- log:日志记录方式(大小轮转、时间轮转、追加)。
通过下方的命令进行注册:
plugin.exe install
最终的效果如图所示:

我们可以在windows上的服务中手动启停服务,也可以通过终端命令:
# net start 服务名
net start plugin 
包括停止服务:
net stop plugin我们如果不想继续使用服务注册了,可以将已注册的服务进行卸载:
plugin.exe uninstall
由此可见,通过使用WinSW,用户可以轻松地将应用程序作为Windows服务进行部署和管理,提高了应用程序的可用性和可维护性。
评论 (0)