有时候我们需要将bat、exe等文件作为Windows的服务,我们可以使用bat、nssm等工具将此类文件设置为Windows服务,此处我们介绍使用WinSW这个工具。
1、下载
下载地址为:https://github.com/winsw/winsw/releases

文件地址:https://github.com/winsw/winsw/releases/download/v3.0.0-alpha.10/WinSW-x64.exe
2、配置
这里我们将minio.exe作为Windows服务为例子进行讲解
2.1、我们将下载下来的WinSW-x64.exe文件复制到Minio的安装目录并重命名(方便写命令,如minio-server.exe);
2.2、在Minio的安装目录中新建一个名称为minio-server的xml文件(必须要和WinSW-x64.exe重命名的minio-server名称一致),目的是WinSW会去读取和自己相同名称的xml文件中的配置进行相关设置,xml文件中的具体配置如下所示:
<service>
    <!-- 服务ID名称(唯一) -->
    <id>Minio-Server</id>
    <!-- 服务显示名称 -->
    <name>Minio-Server</name>
    <!-- 服务的描述信息 -->
    <description>Minio文件存储服务器</description>
  
    <!-- 可设置环境变量 -->
    <env name="HOME" value="%BASE%"/>
  
    <!-- 要执行的可执行文件 -->
    <executable>%BASE%\minio.exe</executable>
  
    <!-- 可执行文件传递的参数 -->
    <arguments>server "%BASE%\data"</arguments>
    <!-- <logmode>rotate</logmode> -->
    <logpath>%BASE%\logs</logpath>
    <log mode="roll-by-size-time">
      <sizeThreshold>10240</sizeThreshold>
      <pattern>yyyyMMdd</pattern>
      <autoRollAtTime>00:00:00</autoRollAtTime>
      <zipOlderThanNumDays>5</zipOlderThanNumDays>
      <zipDateFormat>yyyyMMdd</zipDateFormat>
    </log>
</service>
 
3、执行安装
以管理员身份运行CMD并定位到Minio的安装目录,执行安装命令minio-server install,此时我们的Windows服务列表中就多了一个叫Minio-Server的服务了,如下图所示:



4、WinSW命令
WinSW的各个命令
命令  | 描述  | 
install  | 安装服务  | 
uninstall  | 卸载服务  | 
start  | 启动服务  | 
stop  | 停止服务  | 
restart  | 重启服务  | 
status  | 检查服务状态  | 
refresh  | 刷新服务属性而不是重新安装  | 
customize  | --  | 











