提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
写了一个程序或者是exe,或者是bat,老是担心会挂掉,所以配置成服务就很有必要了,系统会自动帮我们管理这个程序,一旦挂掉就会重新拉起来
,还有开机自启动
的功能,可以说一举两得。
一开始使用系统自带的sc
命令,但是老是失败,后来换成了WinSW
,就成功了!
CPU:Intel I7
OS:Windows 11 64 bits
实测,Win11、Win10、Win Server 2022、Win Server 2008都行,其它的请自行测试
一、下载WinSW?
二、使用步骤
1.解压
解压到任何文件夹,最好不要有特殊权限。
2.配置
首先,把WinSW.exe命名成你想要命名的那个服务名。比如test.exe;然后创建一个xml文件和你命名的服务名一样
,比如test.xml。
test.xml
bash
<service>
<!-- 服务ID名称(唯一) -->
<id>audio2face-server</id>
<!-- 服务显示名称 -->
<name>audio2face-server</name>
<!-- 服务的描述信息 -->
<description>audio2face-server</description>
<!-- 可设置环境变量 -->
<env name="HOME" value="%BASE%"/>
<!-- 要执行的可执行文件 -->
<executable>E:\onf\pkg\audio2face-2023.1.1\audio2face_headless.bat</executable>
<!-- 可执行文件传递的参数 -->
<arguments></arguments>
<!-- <logmode>rotate</logmode> -->
<logpath>%BASE%\logs</logpath>
<log mode="roll-by-size-time">
<sizeThreshold>10240</sizeThreshold>
<pattern>yyyyMMdd</pattern>
<autoRollAtTime>00:00:00</autoRollAtTime>
<zipOlderThanNumDays>5</zipOlderThanNumDays>
<zipDateFormat>yyyyMMdd</zipDateFormat>
</log>
</service>
参数解读:
id、name和description都对应service的配置,理论上名字没限制,不要有特殊字符,优先英文
。
env :环境变量,%BASE%是当前目录的意思
executable : 可执行文件完整路径,可以是exe和bat等
arguments : 可执行文件的参数,空格分隔
logpath : 日志存储路径
log : 日志模式,可以根据时间和大小做日志滚动
当然,参数还有很多,具体参考下官方文档,这里我用到的就这么多。
3.安装服务
bash
#示例
test.exe install
安装成功打开服务管理Win+R,输入:services.msc,找到你的服务
说明服务已经安装了。
4.服务启停
bash
#启动
test.exe start
#停止
test.exe stop
也可以在服务管理页面里面管理服务。还是Win+R,输入:services.msc,找到你的服务。
停止就点停止就行了,需要先启动才能停止。两个不可同时操作。
5.服务卸载
bash
#示例
test.exe uninstall
6.开机自启
就是刚才的启动类型
选择自动或延迟启动都行,建议自动。
7.保活
总结
1、蛮简单的,没什么难度。