• 解决Tomcat无法shutdown进程


    转自:
    http://my.oschina.net/yongyi/blog/405198

    问题分析

    这个在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

  • 相关阅读:
    下载文件c#
    系统蓝屏重起:如何修改设置,记录系统蓝屏重起的错误
    Repeater中的行数
    2010617 重装系统遇到的问题
    ajax 修改select的值 返回的值中有逗号
    GPS数据接收 串口调试感受
    Nios II实用之音频控制
    【笔记】VB控件MSComm功能介绍
    【摘】程序员版同桌的你
    AJAX Control Toolkit ——DragPanelExtender(拖拽面板)
  • 原文地址:https://www.cnblogs.com/ylz8401/p/6082242.html
Copyright © 2020-2023  润新知