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 "$@"