WinSW:一个可以将Jar或exe注册成Windows系统服务的工具

WinSW:一个可以将Jar或exe注册成Windows系统服务的工具

科长
2024-11-18 / 0 评论 / 1 阅读 / 正在检测是否收录...

项目简介

WinSW 是一款可在 Windows 系统中应用的开源工具。它能够让用户把任意可执行文件(例如 exe 或者 jar 文件甚至是 bat 脚本)包装转化为 Windows 服务,进而达成自动化管理的目的。通过使用 WinSW,用户可以毫不费力地进行服务的安装、启动、停止以及卸载操作。

主要特性

  1. 开源:WinSW基于MIT许可证,完全开源,允许自由修改和分发。
  2. 跨版本兼容:支持从Windows XP至Windows Server 2019等多个Windows版本。
  3. 可扩展:支持通过插件机制添加自定义行为,如发送邮件通知、记录额外的日志信息等。
  4. 安全可靠:遵循最小权限原则,服务运行时仅需有限的权限,提高了系统的安全性。
  5. 简洁易用:使用极其简单,只需要一个命令行接口和一个XML配置文件。

使用教程

需要前往Github开源仓库中下载对应的软件包:

https://github.com/winsw/winsw/releases

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

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

核心的配置都在xml中:

常见的关键元素的解释:

  1. id:服务的唯一标识符。
  2. name:服务的显示名称。
  3. description:服务的描述。
  4. executable:要运行的程序的路径。
  5. arguments:传递给程序的参数。
  6. startmode:服务的启动类型Automatic(自动)、Manual(手动)或Disabled(禁用)。
  7. depend:服务依赖的其他服务。
  8. logpath:日志文件的存放路径。
  9. log:日志记录方式(大小轮转、时间轮转、追加)。

通过下方的命令进行注册:

plugin.exe install

最终的效果如图所示:

我们可以在windows上的服务中手动启停服务,也可以通过终端命令:

# net start 服务名
net start plugin 

包括停止服务:

net stop plugin

我们如果不想继续使用服务注册了,可以将已注册的服务进行卸载:

plugin.exe uninstall

由此可见,通过使用WinSW,用户可以轻松地将应用程序作为Windows服务进行部署和管理,提高了应用程序的可用性和可维护性。

0

评论 (0)

取消