我编写了一个与特定端口上的服务器交互的小程序。该程序运行良好,但是:
一旦程序意外终止,并且该套接字连接显示为 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 编码
python - 如何检查两个日期之间的差异(以秒为单位)?
python - 我如何捕捉一个像异常一样的 numpy 警告(不仅仅是为了测试)?
linux - 使用 bash 历史记录获取先前的命令,复制它,然后 'run' 它但命令注释
python - 为什么 apt-get 功能在 Mac OS X v10.9 (Mavericks