zoukankan      html  css  js  c++  java
  • tomcat意外退出 A valid shutdown command was received via the shutdown port. Stopping the Server instance

      昨天在公司使用jenkins发布项目,没有成功,今天上午来了,试了一上午,不行。下午专门部署调试这个jenkins项目,公司jenkins在A机器上,项目部署在B机器,部署过程如下:

    • A机器 从gitlab下载最新代码
    • A机器 使用maven打包项目,在target目录产生*.war包
    • A机器 通过ssh将war包传输到B机器,并执行B的restart.sh脚本
    • B机器脚本功能:将war包放到tomcat的webapps目录中,重启tomcat
    • -

    问题描述

    这是我的B机器restart.sh脚本

    #!/bin/bash
    tomcat_home=/usr/local/system/apache-tomcat-8.0.52
    jenkins_package=/usr/local/jenkins
    SHUTDOWN=$tomcat_home/bin/shutdown.sh
    STARTTOMCAT=$tomcat_home/bin/startup.sh
    echo "关闭$tomcat_home"
    $SHUTDOWN
    ps -ef |grep tomcat |grep $tomcat_home |grep -v 'grep'|awk '{print $2}' | xargs kill -9
    
    #删除webapp文件夹
    rm $tomcat_home/webapps/* -rf
    #删除日志文件,如果你不先删除可以不要下面一行
    rm  $tomcat_home/logs/* -rf
    #删除tomcat的临时目录
    rm  $tomcat_home/work/* -rf
    #删除cataline文件
    rm -rf $tomcat_home/logs/catalina*
    #拷贝打好的war包到tomcat
    cp -f $jenkins_package/system.war $tomcat_home/webapps/system.war
    
    echo "启动$tomcat_home"
    $STARTTOMCAT
    #sleep 5    #!加上这个,小伙!
    #看启动日志
    #tail -f $tomcat_home/logs/catalina.out
    

      我在jenkins启动的时候,观察启动过程,发现最后一步没有启动tomcat。查看catalina.out文件,最后输出一句:
    org.apache.catalina.core.StandardServer.await A valid shutdown command was received via the shutdown port. Stopping the Server instance.
      不难看出shutdown、stopping字眼。
      tomcat自动停止了!!!
      经过一番网上冲浪,原因在远程执行脚本的问题上,A机器执行B机器的重启tomcat脚本的时候,脚本执行完,但是启动tomcat这个任务还未来的及进行,就在这个时候ssh远程连接关闭,脚本退出的时候,发给他的子进程(启动tomcat进程)信号,tomcat因为还没开始启动,就停止了!!!
      如果在启动tomcat命令执行后,延迟5秒退出,只要tomcat开始启动就不会因为脚本退出而关闭了!
      于是在$STARTTOMCAT下面加入一行 sleep 5 就行了!

    参考

    http://hongjiang.info/why-kill-2-cannot-stop-tomcat/

  • 相关阅读:
    败家MM
    Lucene.Net
    罗氏制药事件
    关于request编码的问题
    昨天做了个站内全文搜索
    有时间研究 ror框架,ProMesh.NET: 开源的.net MVC框架
    DotLucene搜索引擎Demo之:创建索引
    超低密度SiO2气凝胶的制备及成型研究
    使用System.out.print/prilntln() 输出时存在的问题
    对C++对象实例化的测试
  • 原文地址:https://www.cnblogs.com/paper-man/p/13284754.html
Copyright © 2011-2022 走看看