linux - 如何删除 CLOSE_WAIT 套接字连接

我编写了一个与特定端口上的服务器交互的小程序。该程序运行良好,但是:

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

有没有办法刷新这些连接?

最佳答案

CLOSE_WAIT 表示您的程序仍在运行,并且尚未关闭套接字(内核正在等待它这样做)。将 -p 添加到 netstat 以获取 pid,然后更强力地终止它(如果需要,使用 SIGKILL)。那应该摆脱您的 CLOSE_WAIT 套接字。您也可以使用 ps 来查找 pid。

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

https://stackoverflow.com/questions/15912370/

相关文章:

linux - 我可以在已编译的二进制文件中更改 'rpath' 吗?

linux - 如何在 linux bash/shell 中对图像进行 base64 编码

linux - 在 printf 中使用颜色

python - 如何检查两个日期之间的差异(以秒为单位)?

python - 我如何捕捉一个像异常一样的 numpy 警告(不仅仅是为了测试)?

linux - 使用 bash 历史记录获取先前的命令,复制它,然后 'run' 它但命令注释

python - 什么是字典 View 对象?

python - 为什么 apt-get 功能在 Mac OS X v10.9 (Mavericks

python - 类型错误 : Missing 1 required positional argu

linux - Git 和硬链接(hard link)