一尘不染

如何删除CLOSE_WAIT套接字连接

linux

我写了一个小程序,可以在特定端口上与服务器交互。该程序可以正常运行,但是:

一旦程序意外终止,并且此套接字连接一直处于CLOSE_WAIT状态显示。如果我尝试运行程序,它将挂起,并且必须强制将其关闭,这会累积 更多的
CLOSE_WAIT套接字连接。

有没有一种方法可以清除这些连接?


阅读 641

收藏
2020-06-03

共1个答案

一尘不染

CLOSE_WAIT表示您的程序仍在运行,并且尚未关闭套接字(内核正在等待它关闭)。添加-pnetstat以获取该pid,然后更加有力地将其杀死(SIGKILL如果需要,可以将其删除)。那应该摆脱您的CLOSE_WAIT套接字。您也可以使用ps来查找pid。

SO_REUSEADDR用于服务器和TIME_WAIT套接字,因此不适用于此处。

2020-06-03