用winsw将Windows程序作为系统服务自动运行

所属分类: 软件教程 / 系统工具 阅读数: 645
收藏 0 赞 0 分享

winsw介绍

有时候我们需要在Windows下开机运行某些程序,这对于有图形界面的程序来说一般不是什么事,在选项中选中开机启动,然后它们就可以自动运行了。但是如果我们想运行一些命令行程序的话就没这么方便了。

原来我的做法是写一个bat脚本,然后将它的快捷方式复制到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp,这样就可以开机自启了。不过这种方式有一个非常大的缺点,就是开机之后会显示一个命令行窗口!而且这个窗口还不能关,一关程序就停了。

其实Windows自带了一个后台程序管理的功能,就是我们经常用到的服务。但是Windows的服务只有程序的开发者在写程序的时候引用到这个功能,我们才能利用服务来控制程序的启动和关闭。对于一般的命令行程序来说,没办法利用服务。所以今天我们就来使用一下标题的这个winsw。它可以将Windows上的任何一个程序注册为服务,如果不需要,也可以方便的卸载服务。

使用winsw

首先要下载winsw。它是一个单个的可执行文件,我们到Github release这里就可以下载winsw了。一般来说当然是下载最新的。winsw可以运行在.NET2和.NET4两个版本上,当然如果使用Win10等比较新的系统,最好下载更新版本的.NET。

下载完之后最好把文件改成一个比较短小的名字,例如winsw.exe这样的,方便后面输入命令。

编写配置文件

我们需要编写一个和程序同名的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,说明已将程序注册为服务。

winsw install

然后打开Windows的服务,我们可以看到这下已经出现了注册的服务,我们可以像一般服务那样开启、关闭它。
 

 

如果不再需要这个服务,使用winsw uninstall即可卸载服务。当然还有诸如start、stop这样的命令启动和关闭服务。更重要的是,没有那个既不美观又烦人的命令提示符窗口。

更多精彩内容其他人还在看

一键恢复CGI使用图文教程

CGI集备份、恢复、NT6.x安装(自动修复引导)等功能于一身,拥有ghost和ImageX双核心,32/64位自适应,支持GHO/WIM/SWM,支持UEFI+GPT,支持动态磁盘。对无人值守配置文件的支持,使其功能得到了极大的扩展,可实现真正的一键
收藏 0 赞 0 分享

datamax i4308 驱动安装过程(附datamax i4308 驱动 v7.1.4 下载)

datamax I-4308条码打印机的官方驱动程序,支持windows 2000/XP/2003操作系统 驱动安装过程不复杂,就是得注意选择正确打印机型号和端口,不懂可以看看下面的安装方法
收藏 0 赞 0 分享

konica minolta 163打印机Win7驱动使用教程(附konica minolta 163 Win7驱动下载)

konica minolta 163打印机的Win7驱动,同时适用于konica minolta 161/181/211/220,仅支持win7系统,这个驱动的安装很简单,不会安装的朋友可以看看下面的安装方法,希望对你有帮助
收藏 0 赞 0 分享

废弃快捷方式清除工具的使用与介绍

废弃快捷方式清除工具是完美卸载中的一款废弃快捷方式清除工具,能够扫描电脑上隐藏的无用的快捷方式文件,能够一键清理,由于快捷方式时刻都在创建,因此可选择定期处理
收藏 0 赞 0 分享

2345一键重装系统使用教程

【2345一键重装系统】工具是一款全新的一键重装工具,使用无需安装,无需U盘,更不需光盘,系统镜像采用云高速同步下载,真真正正抛掉一切的一键重装,即使无任何电脑基础也能快速重装系统
收藏 0 赞 0 分享

360驱动大师备份目录在哪里以及驱动备份在什么地方

360驱动大师是一个不错的硬件检测软件,不仅可以解决各类驱动出现的问题,同时也是一款可以一键备份可以下载驱动的程序,那么我们备份后的驱动在哪里呢?如何才能找到它呢?本文就来告诉大家360驱动大师备份的驱动在什么地方,以及如何快速准备的找到它们
收藏 0 赞 0 分享

Ghost安装双系统安装使用图文教程

ghost双系统安装工具是一款方便网友安装两个以上系统的辅助工具,能让菜鸟轻松的完成双系统安装工作,让你无需花费时间
收藏 0 赞 0 分享

金山清理大师电脑版怎么样

在Google Play商店,一款名为“清理大师”(Clean Master)的垃圾文件清理免费应用最近在Android手机界引起轰动。这是全球下载量最多的Android优化器,在美国Google Play商店“工具”类应用下排名第一
收藏 0 赞 0 分享

小红伞系统优化功能详细介绍

Avira System Speedup是著名的网络安全公司小红伞开发的一款系统优化工具箱,可以帮助你重新找回原来飞快的系统速度,它能够清理PC中不需要的数据,修复错误并优化您的系统
收藏 0 赞 0 分享

360安全卫士如何卸载 360安全卫士卸载不了怎么办?

你在卸载360安全卫士时候是不是遇到一些问题,下面看看该文的介绍
收藏 0 赞 0 分享
查看更多