最近幾天加班加瘋掉了,天天晚上沒法睡。開發部的乙個核心程式總是會自己宕機,然後需要手工去起,而這個服務的安全級別又很高,只有我可以操作,搞得我晚上老沒法睡,昨晚實在受不了了,想起以前在hp-ux下寫的shell守護程序,這回搞個windows下的bat版守護程式吧,當時晚上思路已經很遲鈍了,就叫了個兄弟讓他寫了,上去後執行效果不錯,至少昨晚我安心睡了7小時。
早上來把程式改完善一些,增加了記錄等功能。
實現:檢查是否有notepad,要用的話就算成自己的程序名,如果程序宕了就過會自動重啟(會在當前目錄下生成乙個start.bat)
@echooffset _task=notepad.exe
set _svr=c:\windows\notepad.exe
set _des=start.bat
:checkstart
for /f "tokens=5" %%n in ('qprocess.exe ^| find "%_task%" ') do (
if %%n==%_task% (goto checkag) else
goto
startsvr)
:startsvr
echo %time
% echo
********程式開始啟動********
echo 程式重新啟動於 %time% ,請檢查系統日誌 >> restart_service.txt
echo
start %_svr% >%_des%
echo
exit >>%_des%
start
%_des%
set/p=.for /l %%i in (1 1 10) do
set /p a=.nul
echo .
echo wscript.sleep wscript.arguments(0) >%tmp%\delay.vbs
cscript //b //nologo %tmp%\delay.vbs 10000
del %_des% /q
echo
********程式啟動完成********
goto
checkstart
:checkag
echo %time% 程式執行正常,10秒後繼續檢查..
echo wscript.sleep wscript.arguments(0) >%tmp%\delay.vbs
cscript //b //nologo %tmp%\delay.vbs 10000
goto checkstart
Windows批處理BAT指令碼
2 echo和 字元放在命令前將關閉命令回顯,無論是否為開啟狀態。開啟或關閉回顯 echo 輸出資訊 echo string 3 pause 玩遊戲的都知道,暫停的意思。顯示其他提示語 echo string pause nul 4 errorlevel 返回程式碼 echo errorlevel ...
Windows批處理功能 bat
什麼是批處理?常見的.bat檔案就是批處理檔案。它是一種無格式檔案。簡單理解 批處理的作用就是自動地連續執行多條命令,檔案內容就是一條一條的命令。功能和組成 在命令提示符下輸入批處理檔案的名稱,或者雙擊該批處理檔案,系統會呼叫cmd.exe程式,按照該檔案中各個命令出現順序來逐個執行它們。執行方式 ...
Windows批處理程式bat
echo off 關閉回顯,否則指令碼中的命令都會輸出,關閉後只顯示結果。setlocal enabledelayedexpansion 在for迴圈中變數擴充套件時需要用到 copy y mstsc.cmd systemroot 將檔案複製到c windows目錄下面 regedit.exe s ...