Linux下Tomcat执行shutdown.sh无法结束进程解决方案
Linux下Tomcat执行shutdown.sh的时候,tomcat进程依然还在无法关闭,再次启动tomcat会有两个一样的进程启动,找了好多资料终于解决了这个问题,在此总结一下处理办法,以供参考具体步骤如下:
- 首先通过 ps -ef | grep tomcat 命令找到正在运行的tomcat引用的进程ID
- 通过 kill -9 进程ID 杀掉正在运行的tomcat进程
- 进入到tomcat的 bin 目录 修改 catalina.sh 文件
vi catalina.sh
在catalina.sh脚本下面加上如下脚本
if [ -z "$CATALINA_PID" ]; then CATALINA_PID=$PRGDIR/CATALINA_PID cat $CATALINA_PID fi
-
进入到tomcat的 bin 目录 修改 shutdown.sh 文件
vi shutdown.sh
在shutdown.sh脚本最下面的
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
替换为 exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"# 原来的脚本:exec "$PRGDIR"/"$EXECUTABLE" stop "$@" 修改成下面的脚本 exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"
-
启动tomcat 通过ps -ef | grep tomcat 看是否启动成功,然后执行 shutdown.sh 再通过ps -ef | grep tomcat 看是否结束进程成功