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
再关闭tomcat: ./shutdown.sh

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

为什么呢?

知识点归纳:

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

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

总结:

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

参考文章:
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.youkuaiyun.com/shaokai132333/article/details/51714868
https://stackoverflow.com/questions/10941524/is-my-8080-being-listened

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值