以下脚本可监控某一个windows服务,发现其停止就立即重启之。
@echo off
rem 定义循环间隔时间和监测的服务:
set secs=60
set srvname="NetWin ShoveSCS Service" 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