首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CLOSE_WAIT状态下终止tcp连接

如何在CLOSE_WAIT状态下终止tcp连接
EN

Stack Overflow用户
提问于 2011-11-30 20:35:40
回答 1查看 14K关注 0票数 1

我在我的web应用程序上发现了一个问题,hibernate连接不能正常关闭。但考虑到web应用程序的复杂性,这至少需要15 - 30天。

同时,我想手动关闭连接。

这样我就可以在不重新启动tomcat的情况下关闭这个连接。有一个命令可以用来杀死这个连接池吗?

我在hibernate配置中发现了一个错误,需要解决

代码语言:javascript
复制
#netstat -anp |grep 3306 |grep CLOSE_WAIT
tcp        1      0 ::ffff:172.18.11.4:50750    ::ffff:172.18.11.8:3306     CLOSE_WAIT  4203/java           
tcp        1      0 ::ffff:172.18.11.4:36192    ::ffff:172.18.11.8:3306     CLOSE_WAIT  4203/java           
tcp        1      0 ::ffff:172.18.11.4:36215    ::ffff:172.18.11.8:3306     CLOSE_WAIT  4203/java           
tcp        1      0 ::ffff:172.18.11.4:36211    ::ffff:172.18.11.8:3306     CLOSE_WAIT  4203/java           
tcp        1      0 ::ffff:172.18.11.4:57820    ::ffff:172.18.11.8:3306     CLOSE_WAIT  4203/java           
tcp        1      0 ::ffff:172.18.11.4:36213    ::ffff:172.18.11.8:3306     CLOSE_WAIT  4203/java           
tcp        1      0 ::ffff:172.18.11.4:36159    ::ffff:172.18.11.8:3306     CLOSE_WAIT  4203/java 

等等……

运行Tomcat5.5和MySQL5.5的CentOS 6.0。

EN

回答 1

Stack Overflow用户

发布于 2011-11-30 21:11:06

始终调用socket.close()。另请参见how to close JDBC resources properly every time

如果您无法修复服务器,请将以下代码行添加到/etc/init.d/inetinit

代码语言:javascript
复制
/usr/sbin/ndd -set /dev/tcp tcp_close_wait_interval 1500
/usr/sbin/ndd -set /dev/tcp tcp_keepalive_interval 1500

然后重新启动。根据http://www.experts-exchange.com/OS/Unix/Solaris/Q_20568402.html的说法

或者,在Linux上,尝试tcpkill (dsniff的一部分)或cutter

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8326058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档