windows将脚本/程序注册为服务

2021-08-17

下载winsw

根据.NET Framework的版本,下载对应的版本的exe文件

以nginx为例实现服务注册

将exe文件放在脚本/程序目录下,将文件名改为脚本/程序名(好做区分)(nginx-service.exe),同时创建一个脚本/程序名.xml(nginx-service.xml);实际应用中将xml中的注释删掉

(%BASE%代表当前文件夹,可改成自己的目录)

<service>
  <id>nginx</id>
  <name>nginx</name>
  <description>nginx</description>

  <depend></depend>
  <executable>D:/zm/nginx-1.20.1/nginx.exe</executable>
  <!-- 启动参数 -->
  <startarguments> -p D:/zm/nginx-1.20.1</startarguments>
  <!-- 停止参数 -->
  <stoparguments>-s stop -p D:/zm/nginx-1.20.1</stoparguments> 
  <logpath>%BASE%/service-log</logpath>
  <!-- 按日期截断日志文件 -->
  <log mode="roll-by-time">
    <pattern>yyyyMMdd</pattern>
  </log>
</service>

常用命令

# 安装服务
nginx-service.exe install nginx-service.xml

# 卸载服务
nginx-service.exe uninstall nginx-service.xml

# 启动服务
nginx-service.exe start nginx-service.xml

# 停止服务
nginx-service.exe stop nginx-service.xml

# 查看服务状态
nginx-service.exe status nginx-service.xml

# 软件名与xml文件名相同时,xml文件名可省略

其他命令

# 绘制与服务关联的进程树
nginx-service.exe dev ps nginx-service.xml

# 如果服务已停止响应,则终止该服务
nginx-service.exe dev kill nginx-service.xml

# 列出由当前可执行文件管理的服务
nginx-service.exe dev list nginx-service.xml

 

{/if}