一次性杀掉多个tomcat进程命令:
下面是进过改进版的restart.sh
#!/bin/sh TOMCAT_PATH=/home/server/shichuan/bin echo "TOMCAT_PATH is $TOMCAT_PATH" PID=`ps aux | grep /home/server/shichuan/ | grep java | awk '{print $2}'` if [ -n "$PID" ]; then echo "Will shutdown tomcat: $PID" $TOMCAT_PATH/shutdown.sh -force sleep 5 else echo "No Tomcat Process $PID" fi ps -ef|grep -v grep|grep /home/server/shichuan/ | grep java |awk '{print "kill -9 "$2}'|sh sleep 1 $TOMCAT_PATH/startup.sh sleep 50 for((i=1;i<5;i++)) do LASTINFO=`tail -n 1 /home/server/shichuan/logs/catalina.out |grep 'INFO: Server startup in'` if [ -n "$LASTINFO" ]; then break else ps -ef|grep -v grep|grep /home/server/shichuan/ | grep java |awk '{print "kill -9 "$2}'|sh sleep 1 $TOMCAT_PATH/startup.sh sleep 50 fi done
----------------------------------------
注意:一台服务器如果运行多个tomcat实例,不要配环境变量,容易启动错误,除了端口变换外,
restart.sh脚本#{tomcat目录}命名要区别,不然kill掉所有tomcat进程
TOMCAT_PATH为tomcat的bin目录,前后不能有反引号
#!/bin/sh TOMCAT_PATH=#{tomcat目录}/bin echo "TOMCAT_PATH is $TOMCAT_PATH" PID=`ps aux | grep #{tomcat目录} | grep java | awk '{print $2}'` if [ -n "$PID" ]; then echo "Will kill tomcat: $PID" sh "$TOMCAT_PATH/shutdown.sh" sleep 6 else echo "No Tomcat Process $PID" fi PID2=`ps aux | grep #{tomcat目录} | grep java | awk '{print $2}'` if [ -n "$PID2" ]; then kill -9 $PID2 echo "Try to kill $PID2" else echo "No Tomcat Process $PID2" fi sh "$TOMCAT_PATH/startup.sh" sleep 3 PID=`ps aux | grep #{tomcat目录} | grep java | awk '{print $2}'` if [ -n "$PID" ]; then echo "\nRestart tomcat successfully!" else echo "\nFail to startup tomcat" exit 1 fi
===================================
停止脚本stop.sh
#!/bin/sh TOMCAT_PATH=#{tomcat目录}/bin echo "TOMCAT_PATH is $TOMCAT_PATH" PID=`ps aux | grep #{tomcat目录} | grep java | awk '{print $2}'` if [ -n "$PID" ]; then echo "Will kill tomcat: $PID" sh "$TOMCAT_PATH/shutdown.sh" sleep 6 else echo "No Tomcat Process $PID" fi PID2=`ps aux | grep #{tomcat目录} | grep java | awk '{print $2}'` if [ -n "$PID2" ]; then kill -9 $PID2 echo "Try to kill $PID2" else echo "No Tomcat Process $PID2" fi
===================================
创建文件后需要给执行权限
chmod +x restart.sh
chmod +x stop.sh
或者设置成777等权限
重启tomcat时到bin目录下执行./restart.sh 就可以了
===================================
在window本地编辑sh上传可能遇到下面问题,需要解决编码问题