注册为Windows服务的程序可以自动启动,比较方便,当然还有其它好处,这里就不多说了。使用Visual Studio可以很方便的创建Windows服务程序,不过很多情况下不想搞的这么麻烦,或者不想去学习这个,比如写了一个Java控制台的程序,又或者用Python写了段脚本,有没有比较简单的方式呢。今天就介绍一个小工具:winsw。
这个工具在github上是开源的,可以去找找或者点击这里直达。下面就直接说使用步骤了。
1、安装依赖
这个工具依赖.net framework,安装.net 4.0版本就可以了,点击下载安装:https://www.microsoft.com/en-US/Download/confirmation.aspx?id=17718
2、下载winsw并放到程序根目录
下载地址:http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/
当前的最新版本是2.3.0,下载后改个比较短的名字,比如就叫winsw.exe,然后放到要注册Windows服务的程序根目录。
3、编写配置文件
这里给出一个Java的例子:
<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>
可以设置服务的Id、名称、描述、程序的可执行文件、参数、环境变量、日志记录模式等等。还可以设置启动模式、延迟启动、服务优先级、服务依赖、服务停止时的处理、服务失败时的处理等等,根据需要选择,更多参数说明请看官方文档:https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md
注意这个配置文件的名字需要和上边下载后修改的文件名一致,比如这里为:winsw.xml。
![](https://blog.bossma.cn/wp-content/uploads/2019/10/winsw.png)
4、安装服务
启动Windows命令行,进入程序目录,执行:winsw install
安装成功后会有一行成功提示。
如果要卸载服务也很简单,执行命令:winsw uninstall
安装服务完毕后,服务不会马上启动,需要自己到服务管理工具中启动服务,当然系统重启后服务是可以自动启动的。
如果做的更好一些,还可以写一个批处理文件来安装和卸载服务,不用再手动执行命令行。
5、其它问题
整体来说还是比较简单的,不过需要注意程序的输入输出会被winsw重定向,如果程序中有对输入输出的处理,还需多测试下程序的行为。
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论