批处理文件 bat 定时 检查 window 下的 服务 是否启动

需求:

windows上程序部署为服务方式运行,
但是有时服务会down掉,还需要人为的启动该服务,很麻烦;
可以通过,批处理文件,来解决该问题;
定时检查服务 是否存在, 如果服务停止了, 自动把该服务启动起来

批处理文件写法 :

可以拿 windows更新服务 (Windows Update) 来测试;

@echo off
rem 定义循环间隔时间和监测的服务:
set secs=90
set srvname="Windows Update"


echo.
echo ========================================
echo ==         查询计算机服务的状态,     ==
echo ==     每间隔%secs%秒种进行一次查询,     ==
echo ==     如发现其停止,则立即启动。     ==
echo ========================================
echo.
echo 此脚本监测的服务是:%srvname%
echo.


if %srvname%. == . goto end


:chkit
set svrst=0
for /F "tokens=1* delims= " %%a in ('net start') do if /I "%%a %%b" == %srvname% set svrst=1
if %svrst% == 0 net start %srvname%
set svrst=
rem 下面的命令用于延时,否则可能会导致cpu单个核心满载。
ping -n %secs% 127.0.0.1 > nul
goto chkit


:end

注:
上边的批处理文件是, 黑窗口方式运行,可以测试观察效果用 ;
生产环境, 正式使用的话 , 可以转为后台运行方式, 启动批处理文件 ;
在开头@echo off 的下边, 再加三行代码即可

if "%1"=="hide" goto CmdBegin
start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
:CmdBegin
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值