Linux系统Tomcat进程使用shutdown.sh无法关闭进程

项目场景:

项目场景:用到多线程异步任务,每个任务单独线程去处理数据


问题描述

使用shutdown.sh并没有关闭Tomcat项目


原因分析:

一般造成这种原因是因为项目中有非守护线程的存在,我这里就是用到线程池来处理任务导致无法关闭

解决方案:

我不想用kill来关闭,不好。

#1、在catalina.sh文件中添加CATALINA_PID
[root@iZwz9i4wx78lgrcigwubs4Z bin]# vi bin/catalina.sh
#   CATALINA_PID    (Optional) Path of the file which should contains the pid
#                   of the catalina startup java process, when start (fork) is
#                   used

CATALINA_PID=./CATALINA_PID
  
#2、设置强制关闭,修改尾行添加 -force
[root@iZwz9i4wx78lgrcigwubs4Z bin]# vi  bin/shutdown.sh
 
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"

#3、启动Tomcat并查看进程
[root@iZwz9i4wx78lgrcigwubs4Z bin]# startup.sh
[root@iZwz9i4wx78lgrcigwubs4Z bin]# ps -ef|grep tomcat
     
#4、关闭Tomcat
[root@iZwz9i4wx78lgrcigwubs4Z bin]# ./shutdown.sh
 
#5、检查Tomcat进程
[root@iZwz9i4wx78lgrcigwubs4Z bin]# ps -ef|grep tomcat

你可能感兴趣的:(tomcat,linux,java)