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.exe和m.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
- 进入WinSW目录
cd "D:\Program Files\WinSW"- 安装服务
.\WinSW-x64 install m.xml- 启动服务
.\WinSW-x64 start m.xml卸载&停止
.\WinSW-x64 uninstall m.xml
.\WinSW-x64 stop m.xmlWinSW命令
| 命令 | 描述 |
|---|---|
| install | 安装服务 |
| uninstall | 卸载服务 |
| start | 启动服务 |
| stop | 停止服务 |
| restart | 停止然后启动服务 |
| status | 检查服务的状态 |
| refresh | 刷新服务属性 |