windows配置服务开机自启和保活

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

写了一个程序或者是exe,或者是bat,老是担心会挂掉,所以配置成服务就很有必要了,系统会自动帮我们管理这个程序,一旦挂掉就会重新拉起来,还有开机自启动的功能,可以说一举两得。

一开始使用系统自带的sc命令,但是老是失败,后来换成了WinSW,就成功了!

CPU:Intel I7

OS:Windows 11 64 bits

实测,Win11、Win10、Win Server 2022、Win Server 2008都行,其它的请自行测试


一、下载WinSW?

github-速度慢
速度快-需积分

二、使用步骤

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、蛮简单的,没什么难度。

相关推荐
Huangjin007_10 小时前
【Linux 系统篇(二十五)】文件(二) 系统文件I/O详解
linux·运维·服务器
2601_9623649710 小时前
电脑人脸解锁的安全基石,聊聊 Windows Hello 硬件规范
windows·安全·电脑
微小冷11 小时前
Mermaid画甘特图
运维·markdown·甘特图·mermaid·时间图
云表无代码开发11 小时前
日本开发者彻底破防:中文太强了!换成英文直接裂开
大数据·服务器·人工智能·microsoft·信息可视化
LBL122012 小时前
内网容器部署FTP日志监控服务
运维·服务器·容器
志栋智能12 小时前
超自动化巡检:驱动持续改进的运维飞轮
运维·自动化
海宇大数据12 小时前
零信任架构实战:基于海宇学历核验版构建自动化风控审查网关
运维·人工智能·架构·自动化
NailiConveyor12 小时前
输送机系统与WMS仓储管理系统集成的5个关键技术点
大数据·运维·自动化·制造·业界资讯
本人手速666+12 小时前
企微开发API如何设计客户冻结状态?WeComApi 在删除、投诉和异常客户场景中的自动化边界
运维·分布式·自动化·企业微信·企微外部群开发·wecomapi·企业微信二次开发
一只专注api接口开发的技术猿12 小时前
告别手工复制粘贴:搭建电商商品自动化监控与数据分析实践
大数据·运维·数据挖掘·数据分析·自动化