19 我正在使用Fedora 13 64bit。我的eclipse程序在端口9050上启动了服务器,但是我关闭了该程序,eclipse无法正确关闭服务器。重新启动蚀不起作用。 如何从命令行强制关闭或解除绑定端口? 我知道重新启动或注销然后再重新启动将清除端口,但是这个过程对我来说要慢得多。我正在寻找在命令行中强制关闭端口的方法。 linux fedora — 标记 source
10 强制关闭监听端口的唯一方法是杀死正在监听的端口。使用lsof,netstat,fuser-如根-找出进程ID。一旦进程退出(通过自身退出或被杀死),内核将自动清理它打开的所有套接字。(但是,在某些情况下,可能会拒绝程序在同一端口上监听几分钟;在这种情况下,您所能做的就是等待。) — 用户名 source
19 lsof -n -i 找到您要查找的进程并终止它。 从lsof手册: -n此选项禁止将网络号转换为网络文件的主机名。禁止转换可能会使lsof运行更快。当主机名查找无法正常工作时,它也很有用。 -i [i]此选项选择文件列表,其Internet地址与i中指定的地址相匹配。如果未指定地址,则此选项选择所有Internet和x.25(HP-UX)网络文件的列表。 我认为这个问题的答案相同。 — jonnyflash source 7 抛出| grep ":9050"(或任何端口号)以轻松过滤输出 — isaacparrot 2014年
9 您可以将fuser命令与-k开关一起使用。 例如,要关闭端口111,您可以执行以下操作:(fuser -k 111/tcp 这也省去了查找进程ID的麻烦,因为它可以像保险丝一样暗中杀死它) 请注意,某些进程在关闭后会自动重新启动。为此,您需要检查每个进程的配置文件以提出适当的解决方法。 — tony9099 source
-3 我有同样的问题,只是寻找在Windows上使用cmd命令监听端口的进程 netstat -a -b 然后您可以使用任务管理器将其关闭 — 达科普 source 2 抱歉,我投了反对票。您提到“在Windows上”。netstat的“ -b”参数显示可执行文件的名称,特定于Microsoft Windows。(Unix netstat变体可能具有相似的功能,但通常不使用相同的参数。)但是,该问题表示“ Fedora”,因此该问题的询问者正在寻找有关Fedora 13 64bit(不同操作系统)的信息。 netstat的Fedora手册页指示using -p显示PID(可用于标识可执行文件的名称)。 — TOOGAM'7 1 这个答案有几个错误。答案包含可以避免的语法错误。答案也不适用于问题的第一句话中明确提到的Fedora。30分钟前提交此答案时,好像问题没有包含此信息,自2011年7月以来(该问题已将近5年前),该问题尚未得到编辑。因此,我将这个答案当作是“我也是”答案,实际上很少有帮助。 — Ramhound
| grep ":9050"
(或任何端口号)以轻松过滤输出