#!/bin/bash JDK_HOME=/apps/jdk1.7.0_79 CATALINA_HOME=/apps/tomcat export JDK_HOME CATALINA_HOME source /etc/profile #PID=`ps -ef | grep -v grep | grep java | awk '{print $2}'` #NUM=`ps -ef | grep -v grep | grep java | awk '{print $2}' | wc -l` #case $1 in start() { echo "正在判斷服務狀態,請稍等!" echo "請稍等3秒鍾" echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1 if netstat -an | grep 8080 | grep LISTEN >/dev/null then echo "Tomcat已經正在運行了!" else echo "Tomcat沒有運行,1秒后啟動!" echo 1;sleep 1 $CATALINA_HOME/bin/catalina.sh start echo "Tomcat 已經成功啟動完成,5秒后判斷是否啟動成功" echo "5";sleep 1;echo "4";sleep 1 echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1 if netstat -an | grep 8080 | grep LISTEN >/dev/null then PID=`ps -ef | grep tomcat | grep jdk | awk '{print $2}'` NUM=`ps -ef | grep tomcat | grep jdk | awk '{print $2}' | wc -l` echo "Tomcat 已經成功啟動${NUM} 個Tomcat進程!,PID為${PID}" else echo "Tomcat啟動失敗,請重新啟動!" echo 1 fi fi } stop() { PID=`ps -ef | grep -v grep | grep java | awk '{print $2}'` NUM=`ps -ef | grep -v "color" | grep tomcat | awk '{print $2}' | wc -l` echo "正在判斷服務狀態,請稍等3秒鍾!" echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1 if netstat -an | grep 8080 | grep LISTEN >/dev/null then echo "Tomcat運行中,1秒后關閉!" echo 1;sleep 1 echo "即將關閉Tomcat服務,請稍等!" $CATALINA_HOME/bin/catalina.sh stop ;echo "已經執行關閉命令,正在檢查關閉了多少Tomcat進程,請稍等30秒鍾!" sleep 2 echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1 pkill java && pkill tomcat if netstat -an | grep 8080 | grep LISTEN >/dev/null;then PID=`ps -ef | grep -v grep | grep java | awk '{print $2}'` NUM=`ps -ef | grep -v "color" | grep tomcat | awk '{print $2}' | wc -l` kill -9 $PID ;echo "已成功關閉${NUM} 個tomcat進程" else echo "Tomcat 已經關閉完成!" echo "3";sleep 1;echo "2";sleep 1;echo "1";sleep 1 fi else echo "Tomcat 沒有運行" echo 1 fi if netstat -an | grep 8080 | grep LISTEN >/dev/null;then PID=`ps -ef | grep -v grep | grep java | awk '{print $2}'` #NUM=`ps -ef | grep -v "color" | grep tomcat | awk '{print $2}' | wc -l` echo "關閉失敗,即將強制刪除tomcat進程!" sleep 2 pkill tomcat ;sleep 2 if netstat -an | grep 8080 | grep LISTEN >/dev/null;then echo "強制關閉失敗,即將再次強制刪除tomcat進程!" pkill java; sleep 2 fi fi } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|restart|status}" esac