我在C中编写了一个简单的程序,用于在X86运行窗口和运行嵌入式Linux的ARM之间建立连接(仅包含Busybox和libc)。突然这个小程序无法连接windows和linux,然后我运行“netsta -a”发现3个套接字的状态为CLOSE_WAIT
且PID为NULL。所以我尝试修改“net.ipv4.tcp_keepalive_×
”,但因为busybox只有我无法使用的基本功能/etc/rc.d/init.d/network restart
使修改生效。
所以我想知道:
CLOSE_WAIT
问题?答案 0 :(得分:1)
如何删除不属于任何任务的CLOSE_WAIT连接?
我们已经确定该进程仍在运行, 属于某个任务。我们还确定netstat
输出是一个完整的红鲱鱼。
您需要做的就是关闭套接字。您可能忘记在连接失败后关闭它。它只是一个常见的或花园文件/套接字描述符泄漏。
答案 1 :(得分:0)