我使用的是 Fedora 13 64 位。我的 eclipse 程序在端口 9050 上启动了一个服务器,但我关闭了该程序,eclipse 无法正确关闭服务器。重新启动 eclipse 没有任何效果。
如何从命令行强制关闭或取消绑定端口?
我知道重新启动或注销并重新打开会清除端口,但对我来说这个过程要慢得多。我正在寻找在命令行中强制关闭端口的方法。
答案1
强制关闭聆听端口是终止正在监听该端口的进程。使用lsof
、netstat
、fuser
– 以 root 身份 – 查找进程 ID。一旦进程退出(自行退出或被终止),内核将自动清理它打开的所有套接字。(但是,可能会出现程序被拒绝在同一端口上监听几分钟的情况;在这种情况下,您只能等待。)
答案2
答案3
您可以使用开关fuser
来执行该命令-k
。
例如,要关闭端口 111,您可以执行以下操作:(fuser -k 111/tcp
这也省去了查找进程 ID 来终止它的麻烦,因为 fuser 会隐式地执行此操作)
请注意,某些进程一旦关闭就会自动重新启动。为此,您需要检查每个进程的配置文件以找到适当的解决方法。
答案4
我遇到了同样的问题,只需在 Windows 上使用 cmd 命令查找正在监听该端口的进程即可
netstat -a -b
然后你可以用任务管理器关闭它