在linux系统中使用tomcat应用服务器,会出现使用shutdown.sh脚本无法停止tomcat进程的现象。
经过研究发现可以这样解决这个问题:
首先我们需要修改tomcat的./bin/catalina.sh脚本,在脚本里面加入下面的代码
if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/CATALINA_PID
cat $CATALINA_PID
fi
然后修改./bin/shutdown.sh文件,在文件中找到下面一行代码
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
修改为
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"
修改完成后kill掉原来的tomcat进程,运行./bin/startup.sh启动tomcat,再使用shutdown.sh的时候就会强制停止tomcat进程。
补充:
在Tomcat8.5.46中发现catalina.sh脚本最后添加代码会出现无法启动情况,经过排查添加的代码需要加在PRGDIR变量创建代码的下面。
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/xljk.pid
cat $CATALINA_PID
fi