這個在windows下沒有碰到過,由於此前跑Tomcat都是以服務而不是命令腳本的形式跑的,並且已經換了一個項目,因此暫時不考察windows下是否存在該問題。 web
難道是Tomcat版本問題?或者用帶內存泄漏保護的Tomcat 7能夠解決該問題?嘗試將web應用跑在apache-tomcat-6.0.1八、apache-tomcat-6.0.3五、apache-tomcat-7.0.34,發現均存在沒法shutdown.sh進程問題。 apache
難道在CentOS(Linux)下,Tomcat沒法用shutdown.sh停掉進程?顯然不可能的。因而又把web應用從webapps中移走,換回tomcat自帶的ROOT,果真啓動後再shutdown.sh,查找不到原來的tomcat進程了,也就證實了是本身web應用的問題了。 windows
如今已經肯定是web應用的問題了,因此能夠提解決方案了。 tomcat
忽略日誌中的嚴重警告,由於這是關閉tomcat時候引發的,正常狀況下不會發生這種內存泄露狀況,並且Tomcat6.18以上版本的Tomcat已經作了內存泄露保護,交給Tomcat完成吧,咱們只須要在shutdown.sh以後,補上一個kill -9 pid便可。要是嫌這樣太麻煩了,能夠以下這樣改: app
==============================bin/shutdown.sh exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@" #加上 -force
==============================bin/catalina.sh 在PRGDIR=`dirname "$PRG"`後面加上 if [ -z "$CATALINA_PID" ]; then CATALINA_PID=$PRGDIR/CATALINA_PID cat $CATALINA_PID fi