在linux系统中,使用tomcat的shutdown.sh脚本停止应用,但是进程还在的解决办法

 
 
基本原理为启动tomcat时记录启动tomcat的进程id(pid),关闭时强制杀死该进程
 第一步 vi 修改tomcatbin/catalina.sh文件,增加几行脚本,主要是记录tomcatpid,如下:
#设置记录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 tomcatshutdown.sh文件,在最后一行加上-force:


bin/shutdown.sh exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@" #加上 -force



---------------------------------------------------------

解决tomcat shutdown.sh 后进程还在问题

redoca
2019.06.04 11:54:30字数 48阅读 557

在 CentOS 下 shutdown.sh 发现 tomcat 并没有关闭,进程还在

ps -ef | grep tomcat 

网上找到的解释:原因是因为项目中有非守护线程的存在。

解决方案

第一步 :vim修改tomcat下bin/catalina.sh文件,添加点东西,主要是记录tomcat的pid,如下:
PRGDIR=`dirname "$PRG"`
在上一行后添加如下行: 

if [ -z "$CATALINA_PID" ]; then
    CATALINA_PID=$PRGDIR/CATALINA_PID
fi

第二步 vim tomcat的shutdown.sh文件,在最后一行加上-force:

exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"
 
原文地址:https://www.cnblogs.com/zhoading/p/12496024.html