abcbuzhiming 2013-06-07 10:12 采纳率: 0%
浏览 649
已采纳

tomcat居然会有用shutdown脚本关不掉的时候,请教正确的重新启动姿势

今天早上更新了一下应用,shutdown.sh,再start.sh,然后发现所有的应用都无法访问了,就是没反应,也不回应拒绝访问等错误信息,就僵死在那里,检查了半天才发现在shtdown.sh后,仍然有进程在监听8080端口,导致重新启动tomcat时无法绑定端口而失败,继续google发现原来很多情况都能造成tomcat无法关闭线程(最典型的就是用了ssh框架)的情况,手动杀线程后搞定问题,但是这个问题实在太不爽了,我的tomcat是需要经常重启来更新测试应用的,这经常僵尸太不爽了,求正确的安全重启tomcat方法

  • 写回答

10条回答 默认 最新

  • llade163 2013-06-08 16:10
    关注

    做个重启tomcat的脚本

    /your/tomcat/bin/shutdown.sh
    sleep 5 #具体时间就看你得webapp在调用shutdown.sh后多久后处于僵死状态
    ps -ef | grep 'tomcat' | grep -v grep| awk '{print $2}' | xargs kill -9
    sleep 2
    /your/tomcat/bin/startup.sh

    ps -ef | grep 'tomcat' 此处的'tomcat'关键字需要能把你的tomcat进程找出来。

    另外一种办法是把tomcat配置成服务,用service命令来重启和关闭

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 「已注销」 2013-06-07 12:15
    关注

    很多时候并不是spring的问题,是自己的代码问题。
    是不是做了shutdown的钩子,一般都是这里面写得有问题。
    1. 使用spring环境的bean,使用destory配置自行销毁资源的方法,而不是用系统钩子
    2. 遇到实在kill不了的,等待10s后直接kill -9

    评论
  • iteye_6050 2013-06-07 16:41
    关注

    重启之前查看一下tomcat在后台是否有进程,如果有杀掉就ok了啊

    评论
  • M44346460 2013-06-07 16:57
    关注

    SSH对TOMCAT的关闭会有影响?能说一下是怎么个回事不?

    评论
  • iteye_15303 2013-06-08 00:03
    关注

    可以实现一个ServletContextListener,然后在destory方法中退出jvm

    评论
  • 潜水生活 2013-06-08 08:41
    关注

    ps ux|grep catalina 得到pid(一般会有两个,最长那个)
    kill -9 '刚才得到的PID'

    评论
  • iteye_6050 2013-06-08 09:14
    关注

    如下步骤可以:
    1、./shutdown.sh 关闭tomcat
    2、ps -ef|grep tomcat 查看是否还有tomcat进程在后台运行。如果有说明tomcat没有彻底关闭。
    3、可以通过kill -9 pid方式关闭
    4、重新第二步操作验证是否关闭。如果关闭ok执行第五步
    5、./startup.sh 重新启动即可。

    评论
  • suncf1985 2013-06-08 09:42
    关注

    system.exit(1);

    评论
  • ansj 2013-06-08 12:40
    关注

    jdk假死直接挺进程..标准的关闭方式是shutdown...假死情况应该很少...你看看.是不是给tomcat的内存太小了..调整下...如果还有问题..就看代码吧..

    评论
  • 佚仙 2013-06-08 16:26
    关注

    killall tomcat

    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥15 activity升级到flowable工作流act_ge_bytearray的草稿json数据复制到act_de_model 的model_editor_json的脚本
  • ¥15 cvi使用CreateThread创建线程时,出现存储空间不足无法处理此命令的错误
  • ¥15 求苹果推信imessage批量推信技术
  • ¥15 ubuntu 22.04 系统盘空间不足。隐藏的docker空间占用?(相关搜索:移动硬盘|管理系统)
  • ¥15 c++ word自动化,为什么可用接口是空的?
  • ¥15 Matlab计算100000*100000的矩阵运算问题:
  • ¥50 VB6.0如何识别粘连的不规则的数字图片验证码
  • ¥16 需要完整的这份订单所有的代码,可以加钱
  • ¥30 写一个带界面控制的机房电脑一键开机关机并且实时监控的软件
  • ¥15 Stata数据分析请教