安装使用
(1)下载winswexe文件
从github上进行下载,下载地址:
https://github.com/kohsuke/winsw/releases
我这里下载的是最新版本winsw-v2.2.0,这里有两个要下载的文件:其一winsw.exe文件; 其二是xml配置文件。我下载的是最新版本的WinSW.NET4.exe和sample-minimal.xml。
(1)sample-minimal.xml:配置window服务信息、可执行程序、参数。
(2)WinSW.NET4.exe:是安装/卸载windows服务的exe文件。
题外话:下载地址的WinSW.NET4和WinSW.NET2是什么鬼?
(1)NET是window下的netframework的简称。
(2).netframework2.0选择 WinSW.NET2.exe;.netframework4.0 选择WinSW.NET4.exe。
(3)怎么查看自己系统上的netframework的最高版本号呐?特别简单,直接打开【我的电脑】- 在地址栏输入【%systemroot%\Microsoft.Net\Framework】就可以看到多个版本,当中的最高版本就是我们目前正在使用的.net Framework的版本号。
编写配置文件(修改winsw.exe名为jenkins.exe)
我们需要编写一个和程序同名的jenkins.XML文件作为winsw的配置文件。文件大体上长这样,这是官网的例子。
<service>
<id>jenkins</id>
<name>Jenkins</name>
<description>This service runs Jenkins continuous integration system.</description>
<env name="JENKINS_HOME" value="%BASE%"/>
<executable>java</executable>
<arguments>-Xrs -Xmx256m -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>
<logmode>rotate</logmode>
</service>
看到XML的标签名,我想大家也能猜到这些参数是干嘛的,所以我就不介绍了。下面是我的一个配置文件例子。
<service>
<id>kcp</id>
<name>kcp</name>
<description>这个服务用来将ss使用kcp协议加速</description>
<executable>client_windows_amd64</executable>
<arguments>-c kcp-config.json</arguments>
<logmode>reset</logmode>
</service>
注册服务
编写好配置文件之后,记得把配置文件和可执行文件放在一起,这样winsw才能正确识别配置文件。然后我们打开一个管理员权限的命令提示符或Powershell窗口,然后输入下面的命令,如果返回值为0,说明已将程序注册为服务。
jenkins.exe install
然后打开Windows的服务,我们可以看到这下已经出现了注册的服务,我们可以像一般服务那样开启、关闭它。
服务
如果不再需要这个服务,使用jenkins uninstall即可卸载服务。当然还有诸如start、stop这样的命令启动和关闭服务。