码迷,mamicode.com
首页 > 系统相关 > 详细

解决Tomcat无法shutdown进程

时间:2015-04-22 20:53:15      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

问题分析

这个在windows下没有碰到过,因为此前跑Tomcat都是以服务而不是命令脚本的形式跑的,而且已经换了一个项目,所以暂时不考察windows下是否存在该问题。

难道是Tomcat版本问题?或者用带内存泄漏保护的Tomcat 7可以解决该问题?尝试将web应用跑在apache-tomcat-6.0.18、apache-tomcat-6.0.35、apache-tomcat-7.0.34,发现均存在无法shutdown.sh进程问题。

难道在CentOS(Linux)下,Tomcat无法用shutdown.sh停掉进程?显然不可能的。于是又把web应用从webapps中移走,换回tomcat自带的ROOT,果然启动后再shutdown.sh,查找不到原来的tomcat进程了,也就证明了是自己web应用的问题了。

解决方案

现在已经确定是web应用的问题了,所以可以提解决方案了。

 Kill进程,修改tomcat bin目录下shutdown.sh和catalina.sh文件

忽略日志中的严重警告,因为这是关闭tomcat时候引起的,正常情况下不会发生这种内存泄露情况,而且Tomcat6.18以上版本的Tomcat已经做了内存泄露保护,交给Tomcat完成吧,我们只需要在shutdown.sh之后,补上一个kill -9 pid即可。要是嫌这样太麻烦了,可以如下这样改:

==============================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
技术分享


解决Tomcat无法shutdown进程

标签:

原文地址:http://my.oschina.net/yongyi/blog/405198

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!