想让程序开机自启?WinSW(Windows Service Wrapper)稳如老狗的利器!

318次阅读

还在为Windows开机自启搞得焦头烂额?别折腾bat脚本了,那玩意儿有时候稳如老狗,有时候又抽风得像只哈士奇。今天给大家推荐个真正的稳如老狗的利器——WinSW.exe(Windows Service Wrapper)。这货是个可执行二进制文件,专门用来把你的各种自定义进程包装成Windows系统服务,让它乖乖听话,开机自动跑。下载安装包后,你甚至可以把WinSW.exe改个名字,比如叫"MyService.exe",这样看着就像你自己开发的程序一样,是不是很有逼格?

想让程序开机自启?WinSW(Windows Service Wrapper)稳如老狗的利器!

WinSW这家伙兼容性那是相当强,它提供了.NET Framework 2.0、4.0和4.6.1的可执行文件,只要你的Windows平台装了这些版本的.NET Framework就能跑。如果你的系统比较纯净,没装.NET Framework?也没在怕的,人家还贴心地提供了基于.NET Core 3.1的原生64位和32位可执行文件,基本上通吃。总之,它就是那个将普通可执行文件封装成Windows服务的神器。虽然bat脚本也能实现开机自启,但说实话,bat脚本有时候不太稳定,容易出幺蛾子,用WinSW才省心。

WinSW是通过配置文件来管理的,支持XML和YAML两种格式,看你喜欢哪个口味。下载完成后,记得把WinSW.exe和你的可执行文件、配置文件(比如xml)放到同一个目录下。这里有个死规矩一定要记住:把可执行文件、WinSW和xml配置文件改成同一个名字!就像三胞胎一样,名字必须一模一样,不然它找不到亲兄弟可咋办?

配置文件搞定后,咱们就可以配合命令来对Windows服务进行各种骚操作了:
install:把服务安装到Windows Service Controller里,也就是给它上个户口。
uninstall:卸载服务,就是注销户口,跟install相反。
start:启动服务,前提是你得先给它上户口(install)。
stop:停止服务,让它歇会儿。
stopwait:停止服务并死等,直到它真的不动了为止,很有耐心。
restart:重新启动服务。如果服务现在没跑,那这个命令就等于start。
status:检查一下服务的当前状态,是活着还是死了。
记住了啊,大多数命令都需要管理员权限才能执行,不然它会给你甩脸子。

具体怎么用呢?在文件目录下,打开cmd窗口(记得管理员身份),执行app install就能安装服务,app uninstall就是卸载服务。安装完成后,千万别忘了执行app start把服务启动起来,不然装了也是白装。

在使用过程中,我遇到过这么个奇葩错误,屏幕上直接甩给我:
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
吓我一跳,以为Java炸了。结果排查半天发现,是jar执行的时候命令行里多了一个Java不认识的参数--start-delay=30。Java一看这参数:"啥玩意儿?不认识!"直接罢工。当时的命令行长这样:D:\java\jdk19\bin\java.exe --start-delay=30 -Xms512m -Xmx1024m -jar "E:\test\app.jar",你说这能跑通吗?

为了帮大家避坑,我把我配置好的app.xml文件贴出来,你们可以根据自己的实际情况拿去改改:

<service>
    <id>myapp-service</id>
    <name>myapp-service</name>
    <description>myapp-service</description>
    
    <executable>D:\java\jdk17\bin\java.exe</executable>
    
    <arguments>
        -Xms512m -Xmx1024m
        -jar "E:\test\app.jar"
    </arguments>
    
    <workingdirectory>E:\test\</workingdirectory>
    
    <logpath>E:\test\log\</logpath>
    
    <startmode>Automatic</startmode>
    
    <onfailure action="restart" delay="30 sec"/>
    <onfailure action="restart" delay="60 sec"/>
    <onfailure action="restart" delay="90 sec"/>
    <onfailure action="none" />
    
    <env name="JAVA_HOME" value="D:\java\jdk17"/>
</service>

<id><name><description>随便填,就是服务的身份证和名字。<executable>这里填你的Java.exe绝对路径,比如D:\java\jdk17\bin\java.exe<arguments>里写JVM参数,比如-Xms512m -Xmx1024m,还有jar包路径-jar "E:\test\app.jar"<workingdirectory>指定工作目录,<logpath>指定日志放哪。<startmode>设为Automatic,就是要开机自启。<onfailure>这一段很智能,意思是如果服务挂了,就尝试重启,第一次挂了等30秒重启,第二次挂了等60秒,第三次90秒,要是还挂那就没办法了(action="none")。最后<env>标签里设置一下JAVA_HOME环境变量。这么一配置,稳得一批!

如何获取?

正文完
请使用微信扫一扫(自愿无偿打赏-乞讨)
post-qrcode
 0

未知文明

特别声明
网站内容部分通过网络收集、整理与优化,若您发现任何内容存在侵权问题,请及时通过admin@xwenming.com与我联系,将在核实后第一时间删除相关内容。
本站严格遵守法律法规,坚决不提供任何破解、侵权类技术支持或资源,所有内容仅用于学习交流与经验分享。感谢您的理解与支持,祝您在本站收获实用信息!
随机文章
USB 便携式软件管理工具推荐:让常用软件随 U 盘走,在哪都能轻松用

USB 便携式软件管理工具推荐:让常用软件随 U 盘走,在哪都能轻松用

出差或旅行时,用别人的电脑总觉得不顺手 —— 没有常用的浏览器插件、找不到熟悉的办公软件、甚至连习惯的输入法都...
微信占了 20G?四步清出 10G+!亲测有效,不丢聊天记录

微信占了 20G?四步清出 10G+!亲测有效,不丢聊天记录

手机总提示 “内存不足”,点开存储一看 —— 好家伙,微信独自占了二三十个 G,头都大了!其实微信不是故意 “...
一行命令激活全套Windows/Office,微软为什么不封?真相了...

一行命令激活全套Windows/Office,微软为什么不封?真相了...

一行命令就能激活Windows和Office,而且微软从来不封,你说离不离谱?🤯 先给你们看看这个"神命令":...
Caesium:免费图片批量压缩软件(Win/macOS/Linux),画质几乎无损,空间省 70%

Caesium:免费图片批量压缩软件(Win/macOS/Linux),画质几乎无损,空间省 70%

手机相册里的照片越存越多,微信传图总提示 “文件过大”,设计稿导出后体积超标…… 这些问题,用 Caesium...
今天要到饭了!感谢*边的打赏!0.66元温暖助力,这份支持会记在心里~

今天要到饭了!感谢*边的打赏!0.66元温暖助力,这份支持会记在心里~

今天收到了来自 “*哥” 的0.66元打赏,虽然金额不大,但每一份支持都让我倍感温暖!这份信任和鼓励是我继续前...
3600MHz 内存只跑 2666MHz?白瞎好配置!1 分钟开启 XMP 模式,附进 BIOS 避坑指南

3600MHz 内存只跑 2666MHz?白瞎好配置!1 分钟开启 XMP 模式,附进 BIOS 避坑指南

朋友花大价钱装了台 13 代 i5+4090 的高端机,结果用的时候总觉得不对劲 —— 明明插的是 3600M...
亲测好用!Lenovo Quick Fix 不止联想能用,电脑卡、驱动崩、网络断?一键修复超省心

亲测好用!Lenovo Quick Fix 不止联想能用,电脑卡、驱动崩、网络断?一键修复超省心

电脑突然蓝屏、WiFi 连不上、摄像头打不开,遇到这些小毛病你还在到处搜教程、求售后吗?最近发现一款宝藏工具 ...
还在愁PC电脑端微信多开?2 招搞定!不用装任何第三方软件

还在愁PC电脑端微信多开?2 招搞定!不用装任何第三方软件

“电脑上咋开俩微信啊?工作号、生活号来回切太烦了”—— 真没那么复杂,都不用装那些花里胡哨的工具,看完你就会。...
光猫配置看不懂?26 个核心参数详解!从注册到桥接 / 路由设置,一文搞懂光猫上网全流程

光猫配置看不懂?26 个核心参数详解!从注册到桥接 / 路由设置,一文搞懂光猫上网全流程

一个光猫接入网络能正常使用,大概需要以下几个步骤: 1、确认运营商提供的PON网络类型,选择适配的光猫类型:常...
LKY Office Tools:免费开源 Office 部署神器,一键自动化下载安装激活,绿色安全无捆绑

LKY Office Tools:免费开源 Office 部署神器,一键自动化下载安装激活,绿色安全无捆绑

装 Office 时总被复杂的步骤搞晕?要么找不到官方安装包,要么激活流程绕来绕去,担心第三方工具有毒有捆绑?...