有时候我们需要将bat、exe等文件作为Windows的服务,我们可以使用bat、nssm等工具将此类文件设置为Windows服务,此处我们介绍使用WinSW这个工具。
1、下载
下载地址为:https://github.com/winsw/winsw/releases
2、配置
这里我们将frpc作为Windows服务为例子进行讲解
2.1、我们将下载下来的WinSW.NET4.exe文件复制到frpc的安装目录并重命名;
2.2、在frpc的安装目录中新建一个名称为WinSW.NET4.exe的xml文件(必须要和WinSW-x64.exe的名称一致),目的是WinSW会去读取和自己相同名称的xml文件中的配置进行相关设置,xml文件中的具体配置如下所示:
<service> <!-- 该服务的唯一标识 --> <id>frpc</id> <!-- 该服务的名称 --> <name>frpc</name> <!-- 该服务的描述 --> <description>frpc客户端(powered by WinSW)</description> <!-- 要运行的程序路径 --> <executable>%BASE%\frpc.exe</executable> <!-- 携带的参数 --> <arguments>-c frpc.ini</arguments> <!-- 第一次启动失败 60秒重启 --> <onfailure action="restart" delay="60 sec"/> <!-- 第二次启动失败 120秒后重启 --> <onfailure action="restart" delay="120 sec"/> <!-- 日志模式 --> <logmode>append</logmode> <!-- 指定日志文件目录(相对于executable配置的路径) --> <logpath>logs</logpath> </service>
3、执行安装
以管理员身份运行CMD并定位到frpc的安装目录,执行安装命令WinSW.NET4.exe install,此时我们的Windows服务列表中就多了一个叫frpc的服务了,如下图所示:
4、WinSW命令
WinSW的各个命令
命令 | 描述 |
---|---|
install | 安装服务 |
uninstall | 卸载服务 |
start | 启动服务 |
stop | 停止服务 |
restart | 重启服务 |
status | 检查服务状态 |
refresh | 刷新服务属性而不是重新安装 |
customize | — |