Rhel

是否可以強制結束(關閉等待)連接?

  • September 9, 2019

當我們在埠 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

無法從CLOSE_WAIT外部關閉處於該狀態(或任何其他狀態)的套接字。如果一個行為不端的程序正在積累CLOSE_WAIT連接,那麼釋放這些連接的唯一方法就是殺死它。

這是應用程序中的一個錯誤,最好的解決方案是修復它。(我並不是說這是可行的或現實的。)或者,您可以使用調試器連接到它並關閉調試器的連接……

引用自:https://unix.stackexchange.com/questions/539338