讓windows下服務斷開后自動重啟(兩種方法)


工作中用APMserv做了個小的web網站,當訪問量多的時候,apache服務會經常死掉。在網上看了看,也有類似的情況,還有牛人自己寫了程序來監控apache,叫apche保姆。關於那個軟件我就不多說了,網上有下載的。這里我想說的是,完全沒有必要那么麻煩,windows本身就有這個功能,閑話不多說了:

運行里輸入services.msc打開windows服務管理。任意打開一個服務的屬性,在其中的恢復標簽下就有“當N失敗后”進行的什么操作,很是方便,具體用法不多說了,太簡單了!

當然,用一個簡單的批處理腳本也完全可以實現,如下:

@echo off

setlocal EnableDelayedExpansion

:start

net start > a.txt   #查看正在運行的服務,並寫入到a.txt文件里

find /I "APMServ-Apache" a.txt >NUL  ##檢查想要監控的服務有沒有運行。

if %ERRORLEVEL%==0 (echo httprunning) else (net start APMServ-Apache)##返回值“0”說明在a.txt文件里找到了相應的服務,也就是正在運行,否則啟動服務。

ping 127.1 -n 4 >NUL   ##利用ping命令每隔一秒執行一次來計時,4代表就是4秒后,也就是每4秒監控一下。

goto start &exit   #轉到start部分,重新開始執行。

 

注意:如果系統服務里沒有想要的服務,也可以利用“tasklist >a.txt”把進程列表寫入文件,再find查找相應的進程名稱,下面else后面接想要運行程序的完整路徑,如“c:\abc\abc.exe”。

 

 

 

 

 


免責聲明!

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



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