1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
function state() { netstat -tnlp | grep 8005 &> /dev/null if [ $? -ne 0 ];then let nu++ if [ $nu -eq 1 ];then echo -e "\033[33mwait check listen 8005 listen health...\033[0m" fi if [[ $nu -ge 1 && $nu -lt 10 ]];then sleep 1 state else echo -e "\033[31mbind listen 8005 not found\033[0m" exit 1 fi fi } case $1 in start) /usr/local/tomcat/bin/startup.sh ;; restart)
nu=0 state
/usr/local/tomcat/bin/shutdown.sh &> /dev/null [ $? -eq 0 ] && /usr/local/tomcat/bin/startup.sh | tail -1 || echo -e "\033[31m$(basename $0) start is failed\033[0m" ;; stop) nu=0 state /usr/local/tomcat/bin/shutdown.sh kill $(ps aux | grep tomcat | grep -v grep | awk '{ print $2 }') ;; status) /usr/local/tomcat/bin/configtest.sh ;; *) echo -e "\033[31mUsage: $(basename $0) (start|stop|status)\033[0m" ;; esac <!--这里要吐槽一下java的程序运行的是真的慢,服务刚启动的话8005的套接字端口不会那么快就启用,而关闭服务的时候是要使用到8005端口shutdown的,所以应该把restart服务加上一段时间-->
export JAVA_HOME=/usr/local/jdk export JRE_HOME=/usr/local/jdk/jre
|