Tomcat重啟腳本


Tomcat自帶只有startup.bat和shutdown.bat實現啟動、關閉功能,每次重啟要點2次比較麻煩,於是想寫一個重啟腳本。
剛開始在批處理腳本內容簡單寫了如下:
call shutdown.bat
call startup.bat
試了幾次,也把call換成start等,也有問題,因為關閉和啟動需求一些時間,有可能shutdown.bat還沒執行完,又執行startup.bat。
后來搜索了下,找到這遍文章:https://zhangge.NET/378.html
----------------------------------------------------------------------------------------------
Tomcat重啟腳本,送給有需要的JSP環境運維同行們~
運行環境:XP/windows 2003測試通過,其他環境由於手頭上條件限制未測試;
腳本功能:在常規調用tomcat自帶的關閉/重啟腳本中加入假死判斷,若出現假死則予以強行Kill掉相關Java進程;
腳本特點:可在tomcat/Jboss/apache混合平台使用,針對性的只重啟tomcat相關進程;
注意事項:就是注意tomcat環境變量是否正確即可。

@echo off
title Tomcat重啟腳本
call "%tomcat_home%\bin\shutdown.bat"
ping -n 6 127.1 >nul
wmic process where name="java.exe" get processid,commandline |findstr /i "tomcat" >#      
setlocal enabledelayedexpansion
for /f "delims=*" %%i in (#) do (      
   set var=%%i
   set var=!var:start  =#!      
   for /f "tokens=2 delims=#" %%a in ("!var!") do (
     set tomcatpid=%%a
    )
)
del # >nul      
if defined tomcatpid taskkill /pid !tomcatpid!
ping -n 3 127.1 >nul
call "%tomcat_home%\bin\startup.bat"
exit

----------------------------------------------------------------------------------------------

由於我電腦沒配%tomcat_home%變量,所以我稍微修改了下,先cd定位到Tomcat的bin目錄:

@echo off  
cd /d "D:\javatool\apache-tomcat\bin"  
  
title Tomcat重啟腳本  
call "shutdown.bat"  
ping -n 6 127.1 >nul  
wmic process where name="java.exe" get processid,commandline |findstr /i "tomcat" >#        
setlocal enabledelayedexpansion  
for /f "delims=*" %%i in (#) do (        
   set var=%%i  
   set var=!var:start  =#!        
   for /f "tokens=2 delims=#" %%a in ("!var!") do (  
     set tomcatpid=%%a  
    )  
)  
del # >nul        
if defined tomcatpid taskkill /pid !tomcatpid!  
ping -n 3 127.1 >nul  
call "startup.bat"  
exit  

測試成功,能正常重啟Tomcat。

 


免責聲明!

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



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