Tomcat无法正常关闭

简介: Tomcat无法正常关闭

      正常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


相关文章
|
Java 应用服务中间件 开发者
Tomcat 启动和关闭| 学习笔记
快速学习 Tomcat 启动和关闭,介绍了 Tomcat 启动和关闭系统机制, 以及在实际应用过程中如何使用。
Tomcat 启动和关闭| 学习笔记
|
Unix 应用服务中间件 Linux
tomcat启动
tomcat启动
104 0
|
Java 应用服务中间件
|
运维 前端开发 安全
Tomcat 优雅关闭之路
本文通过分析Tomcat启动和关闭的源码,讲述了Tomcat常用的两种关闭方式背后的原理,以及使用它们会遇到的异常情况。同时本文还讲述了Java中的shutdownhook机制在进程关闭时的作用以及日常开发中如何去使用shutdownhook。
1664 0
|
Java 应用服务中间件 程序员
关于tomcat启动中遇到的问题
在启动tomcat的过程中,控制台报以下错误 An incompatible version [1.2.12] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14] 这是tomcat在安装本地APR库时的版本不兼容所导致的,这里显示版本最好为1.2.14,不过这个错误不影响程序的正常运行。
1475 0
|
Linux 应用服务中间件 Shell
Tomcat 启动和关闭
1.使用当时部署tomcat的用户连接到远程的linux操作系统 2 2.进入到tomcat的bin目录 cd /home/hstomcat/apache-tomcat-7.
1119 0
|
安全 应用服务中间件 数据格式
|
Java 应用服务中间件 Apache
|
应用服务中间件 Java Unix
|
Java 应用服务中间件