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


近期花時間研究了一下windows和linux下某服務停了后自動重啟的功能,在網上收集了些資料,並經過測試,在此整理一下。這里介紹的是windows服務的監控,是通過批處理來實現的。本例是監控windows的Computer Browser為例,每60秒檢測一次(可根據實際需要調整間隔),當發現服務停止后自動重啟。AutostartService.bat批處理文件內容如下

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


免責聲明!

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



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