Windows 服务设置工具 WinSW 使用教程

在 Windows 系统中,有时我们需要将 jar、exe 等文件作为 Windows 服务运行。本文将介绍如何使用 WinSW 工具来实现这一目的。

一、工具介绍

WinSW 是一个强大的工具,可以将各种程序文件设置为 Windows 服务。如果使用 sc.exe、nssm 等工具时,程序文件不符合 Windows 服务要求导致服务无法启动,那么 WinSW 可能是你的最佳选择。

二、工具获取

WinSW 可从 https://github.com/winsw/winsw/releases 下载。下载后可以根据需要将其命名为“WinSW.exe”(不改名也可,但前后配置需保持一致)。

三、相关文件说明

1. install.bat 文件

此文件用于安装后台服务。运行时会显示提示信息“请按任意键开始安装后台服务...”,按下任意键后,程序会切换到当前目录,执行WinSW.exe install命令进行服务安装,然后启动指定的服务,最后提示“请按任意键退出...”。需要注意的是,此文件需以管理员身份运行。

@echo on
:color 2f
chcp 65001
mode con: cols=80 lines=25
@echo 请按任意键开始安装后台服务...&pause>nul

cd /d %~dp0
WinSW.exe install
net start helloword

@echo 请按任意键退出...&pause>nul

2. uninstall.bat 文件

用于卸载后台服务。运行时会提示“请按任意键开始卸载后台服务...”,按下任意键后,先停止指定的服务,再执行WinSW.exe uninstall命令进行服务卸载,最后提示“请按任意键退出...”。

@echo on
:color 2f
chcp 65001
mode con: cols=80 lines=25
@echo 请按任意键开始卸载后台服务...&pause>nul

cd /d %~dp0
net stop helloword
WinSW.exe uninstall

@echo 请按任意键退出...&pause>nul

3. WinSW.xml 文件

这是 WinSW 的配置文件,采用 XML 格式,遵循 MIT 许可证。配置文件中包含了服务的各种配置信息,如服务 ID、显示名称、描述、可执行文件路径及参数、启动模式和日志路径等。

例如:

<service>
  <id>helloword</id>
  <name>helloword</name>
  <description>helloword</description>
  <executable>%BASE%\helloword.exe</executable>
  <arguments>server "%BASE%\data"</arguments>
  <startmode>Automatic</startmode>
  <logpath>%BASE%\logs</logpath>
  <log mode="append">rotate</log>
</service>

其中,<id>定义服务唯一 ID;<name><description>分别设置服务显示名称和描述;<executable>指定要执行的可执行文件路径;<arguments>为可执行文件传递参数;<startmode>设置服务启动模式为自动;<logpath>定义日志存储路径;<log mode="append">rotate</log>设置日志记录模式为rotate(基于大小)。

四、部署步骤

  1. 将需要设置为服务的 jar 或 exe 文件放到当前目录,并根据实际情况改名为“xxx.jar”或“xxx.exe”。在实际项目配置中,注意替换相关内容中的“helloword”。
  2. 双击install.bat文件进行服务安装。在执行过程中,会出现提示“按任意键继续...”,按下任意键继续操作,最终会提示安装成功。
  3. 若服务已安装且需要更新 jar 或 exe 文件,可先双击uninstall.bat进行服务卸载,然后重复步骤 1 和 2。

通过以上步骤,你就可以使用 WinSW 工具将你的程序文件轻松设置为 Windows 服务,方便快捷地进行管理和运行。

posted @ 2024-09-03 09:07  寒爵  阅读(1622)  评论(0编辑  收藏  举报