@echo off
rem 定義循環間隔時間和監測的服務:
set secs=60
set srvname="ServerName"
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
雙擊該批處理文件,運行界面如下
========================================
== 查詢計算機服務的狀態, ==
== 每間隔%secs%秒種進行一次查詢, ==
== 如發現其停止,則立即啟動。 ==
========================================
此腳本監測的服務是:%srvname%
如果%srvname%停止后,該批處理檢測到后會重啟該服務,界面如下
========================================
== 查詢計算機服務的狀態, ==
== 每間隔%secs%秒種進行一次查詢, ==
== 如發現其停止,則立即啟動。 ==
========================================
此腳本監測的服務是:%srvname%
%srvname% 服務正在啟動
%srvname% 服務已經啟動成功。
新建一個AutostartService.bat,將上面文字粘貼進去,"ServerName"改成需要監控的服務即可