WinSW配置说明

背景

想象一下,你是一个魔法师,在Windows世界内,你的的魔法就是让程序在后台无声无息地运行。如何完成这个神奇的任务呢?一般人可能只会想到将程序作为服务运行。正如我们这些编程高手常做的,将程序写成一个通行无阻的exe文件,从而方便地穿越多个平台的魔法境界。但请注意,Windows服务这个秘籍仅限于Windows世界的运用。

有时候,我们会使用nodejs、golang或.net core等不同的魔法学派进行创造。如果我们希望在Windows世界里施展这些法术,那就需要借助一种神奇工具将其转化为Windows服务。在众多神器中,WinSW无疑是最受欢迎的。所以,魔法师们,现在你知道如何在Windows世界自由驰骋了吧!快去尝试这个神奇的技巧吧!

WinSW

WinSW,即Windows Service Wrapper。所以运行需要”.NET framework“,现在Win10上都自带.NET framework4.0

原理其实是winsw.exe本身可以注册为windows服务,可以设置为自启动。
当他启动后,然后根据和此exe同名的xml文件中的配置,执行设置的命令,达到自启动的效果。

winsw的开源地址:https://github.com/winsw/winsw

配置过程

WinSW通过加载XML文件获取配置,可将WinSW.exe改为服务的名称,如Service.XXApp.exe,对应的XML文件名为Service.XXApp.xml

1.XML文件配置

<configuration>
  
  <!-- ID of the service. It should be unique accross the Windows system-->
  <id>Service.XXApp</id>
  <!-- Display name of the service -->
  <name>MService.XXApp Service (powered by WinSW)</name>
  <!-- Service description -->
  <description>This service is a service cratead from a minimal configuration</description>
  
  <!-- Path to the executable, which should be started -->
  <executable>nodejs\node.exe</executable>
  <arguments>server.js</arguments>
  <startmode>Automatic</startmode>
     <logpath>D:/logs/service</logpath>
     <!-- 控制日志-->
     <log mode="roll-by-size">
     <!-- 一个日志文件大小60k,单位是k-->
      <sizeThreshold>60</sizeThreshold>
      <!-- 一共有8个日志文件,-->
      <keepFiles>8</keepFiles>
    </log>
</configuration>
属性名说明
id安装windows服务后的服务ID,必须是唯一的。
name服务名称,也必须是唯一的。一般和id一致即可
description服务说明,可以使用中文,可做备注使用
executable执行的命令,比如启动springboot应用的命令java
arguments命令执行参数,比如 包路径,类路径等
startmode启动模式,自动:Automatic
logpath日志文件路径
log日志控制,参考https://github.com/winsw/winsw/blob/master/doc/loggingAndErrorReporting.md

2.安装配置需要

 set srvName=Service.XXApp.exe
 sc create Service.XXApp binpath= %~dp0%srvName% type= own start= auto displayname= Service.XXApp
 net start Service.XXApp
 pause

或用以下命令安装

Service.XXApp.exe install

可参考: https://github.com/winsw/winsw/blob/master/doc/installation.md

还支持以下命令:

;删除服务
Service.XXApp.exe uninstall
;启动服务
Service.XXApp.exe start
;停止服务
Service.XXApp.exe stop
;重启服务
Service.XXApp.exe restart
;查看状态
Service.XXApp.exe status
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秦剑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值