项目场景:
项目场景:用到多线程异步任务,每个任务单独线程去处理数据
问题描述
使用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