標籤:
近期花時間研究了一下windows和linux下某服務停了後自動重啟的功能,在網上收集了些資料,並經過測試,在此整理一下。這裡介紹的是windows服務的監控,是通過批處理來實現的。本例是監控windows的Computer Browser為例,每60秒檢測一次(可根據實際需要調整間隔),當探索服務停止後自動重啟。AutostartService.bat批次檔內容如下
@echo offrem 定義迴圈間隔時間和監測的服務:set secs=60set srvname="Computer Browser" echo.echo ========================================echo == 查詢電腦服務的狀態, ==echo == 每間隔%secs%秒種進行一次查詢, ==echo == 如發現其停止,則立即啟動。 ==echo ========================================echo.echo 此指令碼監測的服務是:%srvname%echo. if %srvname%. == . goto end :chkitset svrst=0for /F "tokens=1* delims= " %%a in (‘net start‘) do if /I "%%a %%b" == %srvname% set svrst=1if %svrst% == 0 net start %srvname%set svrst=rem 下面的命令用於延時,否則可能會導致cpu單個核心滿載。ping -n %secs% 127.0.0.1 > nulgoto chkit :end 雙擊該批次檔,運行介面如下 ========================================== 查詢電腦服務的狀態, ==== 每間隔60秒種進行一次查詢, ==== 如發現其停止,則立即啟動。 ========================================== 此指令碼監測的服務是:"Computer Browser" 如果Computer Browser停止後,該批處理檢測到後會重啟該服務,介面如下========================================== 查詢電腦服務的狀態, ==== 每間隔60秒種進行一次查詢, ==== 如發現其停止,則立即啟動。 ========================================== 此指令碼監測的服務是:"Computer Browser" Computer Browser 服務正在啟動 .Computer Browser 服務已經啟動成功。
原文: http://www.aixchina.net/home/space.php?uid=20260&do=blog&id=38889
[轉]監控windows服務,當服務停止後自動重啟服務