是否可以强制结束(关闭等待)连接?

是否可以强制结束(关闭等待)连接?

当我们在端口 6060 上运行 lsof 时,如下所示

# lsof -i TCP:6060 | more
COMMAND     PID USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
app_lot 3495 root   12u  IPv6  9238779      1t0  TCP *:krb0934 (LISTEN)
app_lot 3495 root   13u  IPv6  9208460      1t0  TCP linux_server45:krb0934->43.55.3.22:5992 (CLOSE_WAIT)
app_lot 3495 root   21u  IPv6  9402392      1t0  TCP linux_server45:krb0934->34.22.50.28:6005 (CLOSE_WAIT)
app_lot 3495 root   28u  IPv6  9208462      0t0  TCP linux_server45:krb0934->54.33.6.161:23096 (CLOSE_WAIT)

我们看到许多人在等待,

我们不想杀死 pid - 3495

是否可以强制关闭 - CLOSE_WAIT ?

无需重新启动应用程序 - app_lot

答案1

无法CLOSE_WAIT从外部关闭处于该状态(或任何其他状态)的套接字。如果行为不当的程序正在积累CLOSE_WAIT连接,释放这些连接的唯一方法就是杀死它。

这是应用程序中的错误,最好的解决方案是修复它。 (我并不是说这是可行或现实的。)或者,您可以使用调试器连接到它并关闭调试器的连接......

相关内容