9. 啟動、關閉tomcat
在生產環境下,經常會遇到tomcat無法徹底關閉,也就是用tomcat自帶的shutdown.sh指令碼無法將java程式完全關掉。所以需要藉助shell指令碼,將程式殺死,然後再啟動。本案例就要寫一個指令碼來實現上述功能。另外,徹底殺死一個程式的命令是 kill -9 pid
。
具體要求如下:
1)不僅要徹底關閉java程式,還要成功啟動tomcat服務;
2)kill -9 殺程式比較危險,有可能會導致一些資料丟失,儘量不要加 -9 ,實在殺不掉時使用 -9 ;
3)啟動後要檢查是否啟動成功,通過是否有java程式存在來判斷是否啟動成功。
具體程式碼如下:
#!/bin/bash
#用於關閉、啟動tomcat服務
if ! rpm -q psmisc &>/dev/null
then
yum install -y psmisc #沒有killall命令就安裝
fi
tomcat_dir=/usr/local/tomcat
stop()
{
echo -n "stopping tomcat."
killall java
#systemctl stop tomcat
i=0
while [ $i -lt 10 ]
do
if pgrep -l java &>/dev/null
then
killall java
sleep 1
echo -n "."
i=$[$i+1]
else
echo -e "\033[32m[ok]\033[0m"
break
fi
done
if pgrep -l java &>/dev/null
then
pgrep java |xargs kill -9 2>/dev/null
sleep 1
pgrep java |xargs kill -9 2>/dev/null
fi
if pgrep java &>/dev/null
then
echo -e "\033[31m"java程式殺不掉"\033[0m"
exit
fi
}
start()
{
cd $tomcat_dir
echo -n "starting tomcat."
./bin/startup.sh 2>/tmp/start_tomcat.log
#systemctl start tomcat
i=0
while [ $i -lt 3 ]
do
if ! pgrep java &>/dev/null
then
./bin/startup.sh 2>/tmp/start_tomcat.log
echo -n "."
i=$[$i+1]
else
echo -e "\033[32m[ok]\033[0m"
break
fi
done
if ! pgrep java &>/dev/null
then
echo
cat /tmp/start_tomcat.log
echo -e "\033[31m"tomcat無法啟動,請檢查"\033[0m"
fi
}
stop
start
相關文章
- 3 啟動和關閉
- Tomcat 優雅關閉之路Tomcat
- win10系統快速啟動怎麼關閉 關閉Windows快速啟動Win10Windows
- 01啟動(關閉)套接字
- 啟動與關閉服務
- centos下nginx啟動、重啟、關閉CentOSNginx
- win10快速啟動怎麼關閉_win10如何關閉快速啟動Win10
- windows10怎麼關閉快速啟動_windows10關閉快速啟動的方法Windows
- win10 自動重啟關閉方法_win10自動重啟怎麼關閉Win10
- 如何關閉win10快速啟動_win10系統快速啟動怎麼關閉Win10
- 記一次解決tomcat自動關閉的bugTomcat
- 13. 自動化運維——批量關閉tomcat服務運維Tomcat
- Tomcat關閉日誌catalina.outTomcat
- Tomcat 7 伺服器關閉原理Tomcat伺服器
- 關閉tomcat報錯Cannot allocate memoryTomcat
- nginx關閉/重啟/啟動的操作方法Nginx
- MySQL啟動和關閉命令總結MySql
- Linux啟動tomcat後執行shutdown.sh關閉時出現異常:Connection refused (Connection refused)LinuxTomcat
- SpringBootApplication是如何啟動Tomcat的? | 破解SpringBoot Tomcat啟動之謎 !Spring BootAPPTomcat
- win10啟動管理器關閉的方法_win10關閉啟動管理器的方法Win10
- win10開機自啟動程式關閉方法_win10怎麼關閉開機啟動項Win10
- tomcat 啟動失敗Tomcat
- 4.2.1.11 學習如何啟動和關閉CDB
- Android 書本開啟和關閉動畫Android動畫
- Linux下的MongoDB安裝&啟動&關閉LinuxMongoDB
- 深入淺出Tomcat/2 - Tomcat啟動和停止Tomcat
- Tomcat啟動流程簡析Tomcat
- Linux下Tomcat重新啟動LinuxTomcat
- macOS Big Sur如何開啟或關閉 Mac 啟動聲音Mac
- db2資料庫的啟動和關閉DB2資料庫
- win10如何關閉啟用防火牆通知_win10關閉啟動防火牆通知的設定方法Win10防火牆
- Tomcat原始碼分析--啟動流程Tomcat原始碼
- 在linux下啟動tomcat命令LinuxTomcat
- 如何在linux下啟動tomcatLinuxTomcat
- nginx 開啟、關閉、重啟常用操作Nginx
- 電腦開機自動啟動的軟體怎麼關閉 win10關掉開機啟動項Win10
- win10快速啟動怎麼關閉 取消win10快速啟動的方法Win10
- win10啟動項哪些可以禁止_win10啟動項哪些可以關閉Win10