監控windows服務,當服務停止后自動重啟服務


@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"改成需要監控的服務即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM