windows服務守護進程bat腳本、windows窗體守護進程bat腳本


線上運行的windows服務和窗體服務程序經常掛掉,只能從windows日志中找到報了底層錯誤,問題無法定位,目前的辦法是在服務器上運行守護進程

window服務守護進程

@echo off
title "數據中間件服務(windows服務)"守護進程,發布服務時請臨時關閉此進程
rem 定義循環間隔時間和監測的服務:
set secs=60
set srvname="khdataserver"
set showname="數據中間件服務"
 
echo.
echo ========================================
echo ==     查詢計算機服務的狀態,        ==
echo ==     每間隔%secs%秒種進行一次查詢  ==
echo ==     如發現其停止,則立即啟動      ==
echo ========================================
echo.
echo 此腳本監測的服務是:%showname%
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 

windows窗體守護進程

@echo off
title "數據中間件服務(windows窗體)"守護進程,發布服務時請臨時關閉此進程
rem 定義循環間隔時間和監測的服務:
set secs=10
set exename="khdataserver.exe"
set exepath="D:/01-myproject/khdataserver.exe"
set showname="數據中間件服務"

echo.
echo ========================================
echo ==     查詢計算機服務的狀態          ==
echo ==     每間隔%secs%秒種進行一次查詢  ==
echo ==     如發現其停止,則立即啟動      ==
echo ========================================
echo.
echo 此腳本監測的服務是:%showname%
echo.

if %exename%. == . goto end
:chkit
set svrst=0
for /f %%i in ('tasklist') do if /I "%%i" == %exename% set svrst=1
if %svrst% == 0 start "" %exepath%
set svrst=
rem 下面的命令用於延時,否則可能會導致cpu單個核心滿載。
ping -n %secs% 127.0.0.1 > nul
goto chkit
:end 


免責聲明!

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



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