用winsw将Windows程序作为系统服务自动运行
winsw介绍
有时候我们需要在Windows下开机运行某些程序,这对于有图形界面的程序来说一般不是什么事,在选项中选中开机启动,然后它们就可以自动运行了。但是如果我们想运行一些命令行程序的话就没这么方便了。
原来我的做法是写一个bat脚本,然后将它的快捷方式复制到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp,这样就可以开机自启了。不过这种方式有一个非常大的缺点,就是开机之后会显示一个命令行窗口!而且这个窗口还不能关,一关程序就停了。
其实Windows自带了一个后台程序管理的功能,就是我们经常用到的服务。但是Windows的服务只有程序的开发者在写程序的时候引用到这个功能,我们才能利用服务来控制程序的启动和关闭。对于一般的命令行程序来说,没办法利用服务。所以今天我们就来使用一下标题的这个winsw。它可以将Windows上的任何一个程序注册为服务,如果不需要,也可以方便的卸载服务。
使用winsw

Windows Service Wrapper(winsw.exe让任何Windows程序都能运行为服务) v2.1.2 官方最新版
- 类型:服务器其它
- 大小:186KB
- 语言:英文软件
- 时间:2018-11-12
首先要下载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这样的命令启动和关闭服务。更重要的是,没有那个既不美观又烦人的命令提示符窗口。
相关文章

轻巧好用的macOS电源与充电状态监控神器推荐之Powerflow
Powerflow 是一款专门为 macOS 设计的应用程序,它致力于帮助用户实时监控 Mac 和 iOS 设备的电力消耗以及充电状态,用户可以深入了解设备的功耗情况,优化使用习惯,从而2025-04-17
效率党必更! PowerToys 0.90新功能实测:Peek能删文件了
Win10 / Win11 效率神器PowerToys 0.90.0 版本更新,重点体验了最新的 Command Palette 和增强的 Peek 功能2025-04-02
WinMemoryCleaner 基于.NET开源的小巧、智能、免费的Windows内存清理
我们在使用Windows系统的时候经常会遇到一些程序不会释放已分配的内存,从而导致电脑变得缓慢,今天给大家推荐一款.NET开源的小巧、智能、免费的Windows内存清理工具:WinMe2025-03-12
所以你正在寻找 Windows PC 上最佳的免费搜索工具?虽然 Windows 搜索一直有一些不错的技巧,但它从未与 Mac 或 Linux 的搜索功能相当,今天我们推荐 5 款最好用的免费 Win2025-02-06- psping工具提供了ICMPping、TCPPing、延迟测试和带宽测试等功能,通过调整不同参数,如-n、-w、-h、-i、-l和-q等,用户可以定制化网络连接测试等2025-01-05

鼠标宏找图功能如何使用?金舟鼠标连点器使用鼠标宏找图功能的方法
金舟鼠标连点器支持鼠标键盘录制、自动连点和鼠标宏等多种功能,这款软件使用户可以轻松捕捉每一个操作,实现自动化操作,本文中介绍的是使用这款软件使用鼠标宏找图的方法2024-11-28
金舟鼠标连点器是一款功能强大的电脑辅助工具,支持鼠标键盘录制、自动连点和鼠标宏等多种功能,这款软件使用户可以轻松捕捉每一个操作,实现自动化操作,本文中介绍的是使用2024-11-28
电脑任务栏颜色如何设置?金舟Translucent任务栏设置电脑任务栏颜色的方
金舟Translucent任务栏支持自由调整任务栏的透明度,使其从完全不透明到近乎完全透明等,本文中介绍的是使用该软件设置任务栏的方法2024-11-28
如何设置电脑自定义启动项?金舟Uninstaller设置电脑自定义启动项的方法
金舟Uninstaller卸载工具是一款功能全面的电脑软件卸载工具,能够帮助用户轻松管理并快速卸载软件、可疑驱动和卸载残留,解决系统盘空间不足、软件卸载不干净和流氓软件自2024-11-28
金舟Uninstaller卸载工具是一款功能全面的电脑软件卸载工具,能够帮助用户轻松管理并快速卸载软件、可疑驱动和卸载残留,本文中介绍的是使用该软件删除顽固文件的方法2024-11-28











最新评论