启动服务的监护,保证自动化有效运行

问题描述

之前部署好的环境,突然发现,每天晚上有个与自动化相关的服务总是莫名其妙的被停止了,导致自动化运行终止或失败。非常影响执行效率。

解决办法

启动一个监护程序SoftDog,定期去查询服务的运行状态,如果发现服务么有启动,则立即启动,否则继续监护;这样即可解决问题。

 1@echo off
 2rem 定义循环间隔时间和监测的服务:
 3set secs=60
 4set srvname="ServiceName"
 5
 6echo.
 7echo ========================================
 8echo ==         查询计算机服务的状态,     ==
 9echo ==     每间隔%secs%秒种进行一次查询,     ==
10echo ==     如发现其停止,则立即启动。     ==
11echo ========================================
12echo.
13echo 此脚本监测的服务是:%srvname%
14echo.
15
16if %srvname%. == . goto end
17
18:chkit
19set svrst=0
20for /F "tokens=1* delims= " %%a in ('net start') do if /I "%%a %%b" == %srvname% set svrst=1
21if %svrst% == 0 net start %srvname%
22set svrst=
23rem 下面的命令用于延时,否则可能会导致cpu单个核心满载。
24ping -n %secs% 127.0.0.1 > nul
25goto chkit
26
27:end

你可能感兴趣的:(程序人生)