- 基本原理为启动tomcat时记录启动tomcat的进程id(pid),关闭时强制杀死该进程
- 第一步 :vim修改tomcat下bin/catalina.sh文件,添加点东西,主要是记录tomcat的pid:
#设置记录CATALINA_PID。
#该设置会在启动时候bin下新建一个CATALINA_PID文件
#关闭时候从CATALINA_PID文件找到pid,kill。。。同时删除CATALINA_PID文件
在PRGDIR=`dirname "$PRG"`后面加上:
if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/CATALINA_PID
fi
- 第二步 vim tomcat的shutdown.sh文件,在最后一行加上-force:
- bin/shutdown.sh exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@" #加上 -force
提供一个自动关闭的脚本:
#!/bin/bash
ID=`ps -ef | grep java | grep tomcat|awk '{print $2}'`
echo $ID
echo "kill tomcat start......"
for id in $ID
do
kill -9 $id
echo "killed$id"
done
echo "kill tomcat end......"
PS:网上看到一篇分析很全面的帖子,有兴趣的可以翻阅:https://blog.csdn.net/hxyerui/article/details/52181884