Tomcat无法正常关闭

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013028876/article/details/79134870
        正常Tomcat开启关闭是使用bin文件夹下的 start.sh和shutdown.sh脚本进行。最近项目中部署无法正常关闭,每次都需要用kill命令关。不太正常,就想研究一下是什么原因导致的。
        使用./shutdown.sh关闭,首先报的问题是9004端口占用。
        1、9004端口占用

        查看9004端口是谁被占用:
        lsof -i:9004
        netstat aux|grep 9004

        显示的pid是Tomcat的。

        后来发现是在配置远程连接的时候,配置了远程端口为9004。

        解决办法: 修改catalina.sh中的JAVA_OPTS为CATALINA_OPTS。

        再./shutdown,问题变为了拒绝连接,看来修改生效了。
        2、java.net.ConnectException: 拒绝连接

       找到tomcat的pid: ps -ef|grep tomcat
       通知tomcat的线程自己停止: kill -3 <tomcatpid>
       再关闭tomcat: ./shutdown.sh

        可以根据上图看到,结果Tomcat关掉了。

        为什么呢?

知识点归纳:

        Tomcat中的JAVA_OPTS和CATALINA_OPTS参数的区别是什么?

        kill -3 <pid> 命令代表什么意义?


总结:

        思考-->验证-->总结-->提高。        



参考文章:
        https://stackoverflow.com/questions/11222365/catalina-opts-vs-java-opts-what-is-the-difference 
        https://stackoverflow.com/questions/13946753/apache-tomcat-shutdown-java-net-connectexception-connection-refused
        http://blog.csdn.net/shaokai132333/article/details/51714868
        https://stackoverflow.com/questions/10941524/is-my-8080-being-listened

猜你喜欢

转载自blog.csdn.net/u013028876/article/details/79134870
今日推荐