CentOS中使用shutdown.sh关闭Tomcat后发现进程还在,如果这个时候再重新启动,可能引发各种不可意料的问题,网上找到的解释是:因为项目中有非守护线程的存在,下面给出解决方案:
1. 查看Tomcat状态
请移步 CentOS查看Tomcat是否正在运行 进行查看
2. 解决方案
2.1 进入到tomcat的bin目录下,使用vi命令打开catalina.sh文件
[root@localhost bin]# vi catalina.sh
使用vi命令:"/",找到 PRGDIR=
dirname "$PRG"
这里(大约第139行),换行,添加以下语句,保存退出
if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/CATALINA_PID
fi
2.2 进入到tomcat的bin目录下,使用vi命令打开shutdown.sh文件
[root@localhost bin]# vi shutdown.sh
移动到文件最后面,找到 exec "$PRGDIR"/"$EXECUTABLE" stop "$@" ,添加 -force 信息,保存退出
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"