WinSW

WinSW全称是: Windows Service Wrapper ,功能是将任何应用程序包装并作为 Windows 服务进行管理。

WinSW GitHub
支持的平台:

WinSW 3 可以在安装了 .NET Framework 4.6.1 或更高版本的 Windows 平台上运行。对于没有安装 .NET Framework 的系统,该项目提供了基于 .NET 7 的原生 64 位和 32 位可执行文件。

如何使用?

Step 1 : 准备工作

1.首先需要下载 WinSW 执行程序,本教程使用的是WinSW-x64.exe.

2.需要创建一个WinSW的配置文件,例如: *.xml ,其中*可以你自己的需求更改名字,本教程使用的配置是:m.xml.

3.将WinSW-x64.exem.xml存放到一个目录下,并在此目录创建一个logs文件夹,用于WinSW记录日志.

本教程的存放的路径为:

D:\Program Files\WinSW\WinSW-x64.exe
D:\Program Files\WinSW\m.xml
D:\Program Files\WinSW\logs\
Step 2 : 配置

假设我需要持续保持运行(作为Windows服务进行管理)的程序:

程序名字为:M

程序路径为:D:\Program Files\M\M.exe

在服务管理器现实的名字为:M Service

m.xml文件,内容如下:

<service>
  <!-- 服务 ID(系统内部标识,不要有空格) -->
  <id>M</id>

  <!-- 服务在“服务管理器”里显示的名字 -->
  <name>M Service</name>

  <!-- 服务描述 -->
  <description>Run and monitor M (D:\Program Files\M\M.exe)</description>

  <!-- 要运行的目标程序 -->
  <executable>D:\Program Files\M\M.exe</executable>

  <!-- 日志输出路径 -->
  <logpath>D:\Program Files\WinSW\logs</logpath>
  <log mode="roll"></log>

  <!-- 自动重启设置 -->
  <restart mode="always"></restart>

  <!-- 等待网络启动后再运行 -->
  <depend>Tcpip</depend>
</service>
Step 3 : 运行

使用管理员运行 PowerShell

  1. 进入WinSW目录
cd "D:\Program Files\WinSW"
  1. 安装服务
.\WinSW-x64 install m.xml
  1. 启动服务
.\WinSW-x64 start m.xml
卸载&停止
.\WinSW-x64 uninstall m.xml

.\WinSW-x64 stop m.xml
WinSW命令
命令 描述
install 安装服务
uninstall 卸载服务
start 启动服务
stop 停止服务
restart 停止然后启动服务
status 检查服务的状态
refresh 刷新服务属性