連接埠正在偵聽,但不屬於任何人

連接埠正在偵聽,但不屬於任何人

前言(跳過真正的問題):我有一個正在偵聽連接埠 843 的應用程式。有時終止進程(使用 ^C)會使其掛起很長時間(永遠?)。由於不耐煩,我用 殺死了它kill -9。現在的問題是連接埠 843 仍在偵聽,即使那裡沒有應用程式。

檢視lsof -i顯示沒有進程監聽 843,即使以 root 身分執行也是如此。然而,查看netstat -a,表明它正在監聽,甚至一些連接沒有正確斷開:

Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)
tcp6       0      0  localhost.843          localhost.60927        CLOSE_WAIT
tcp6     386      0  localhost.843          localhost.60926        CLOSE_WAIT
tcp6       0      0  localhost.843          localhost.60925        CLOSE_WAIT
tcp6     386      0  localhost.843          localhost.60924        CLOSE_WAIT
tcp46      0      0  *.843                  *.*                    LISTEN
tcp4       0      0  *.843                  *.*                    LISTEN

類似的問題建議我一開始就不要陷入這種情況。這是合理的建議,但有點困難,因為這不是我的應用程式。此外,無論如何,如果能擺脫它就好了。

有什麼辦法可以讓我在不重新啟動的情況下擺脫困境嗎?我以 root 身份運行它這一事實很重要嗎? (我只需要 root 來監聽低編號的端口,為此我沒有找到一種方法,無需安裝像 authbind 這樣的軟體)。

相關內容