端口正在监听,但无人拥有

端口正在监听,但无人拥有

前言(跳过真正的问题):我有一个应用程序正在监听端口 843。此进程以 root 身份运行。有时终止进程(使用 ^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 之类的软件,我找不到其他方法)。

相关内容