Windows 上运行的每个进程都使用不同的端口。因此,假设您正在尝试运行一个需要利用已在使用的特定端口的应用程序。在这种情况下,您最终可能会收到类似“端口 8080 正在使用”或“您提供的端口号已在使用”之类的错误消息。
解决此错误的唯一方法是手动终止当前占用该端口的进程。下面的文章展示了如何识别哪个进程正在使用哪个端口,以及如何杀死它以便释放该端口的不同方法。
如何查找端口是否正在使用(及其相关进程)
首先,打开命令提示符。按开始,输入指令,右键单击“命令提示符”,然后选择以管理员身份运行。
键入以下命令以获取所有正在使用的端口的列表。
netstat -ano
按 Enter 键。
您现在将获得系统上所有活动端口的列表。地址的最后几位(最后一个冒号之后)组成端口号。而其对应的PID是与其链接的进程的唯一ID号。
要查找特定端口是否正在使用,请键入以下命令:
netstat -ano | findstr :port-number
将“port-number”替换为实际端口号,然后按 Enter。
如果正在使用,您将在右侧看到 PID,以及“正在监听”或“已建立”字样。
要查找该进程,请按打开任务管理器Ctrl+Shitf+Esc。然后查找具有该 PID 的进程。
如果您没有看到 PID 列,请右键单击其中一列并选择 PID。
或者,您可以使用资源监视器来查找进程。按开始,输入资源监视器并打开它。
扩张网络并查找带有 PID 的进程。
如何终止端口上的进程
这里有一些方法可以让您识别哪个进程正在使用哪个端口以及如何终止它。
方法#1:通过命令提示符
一旦命令提示符(如前所示)并键入以下命令:
要释放端口并终止与其关联的进程,请输入以下命令:
taskkill /PID <type PID here> /f
然后按 Enter 键。您现在应该收到一条消息,表明该进程已终止。
此方法是查找并终止多个进程和程序可能想要访问的有争议端口(例如端口 8080 或 3000)上的进程的最常用方法。
方法#2:通过 PowerShell
也可以通过 PowerShell 终止与端口关联的进程。方法如下:
按“开始”,键入 Powershell,右键单击结果,然后单击以管理员身份运行。
与命令提示符类似,在 PowerShell 中键入以下命令:
netstat -ano
然后按 Enter 键。您将获得所有活动连接的列表。
一旦获得端口及其相应的 PID,您就可以知道哪个进程链接到它(如前所示)。记下正在使用特定端口的 PID。
要终止该进程,请键入以下命令:
taskkill /PID <enter PID here> /f
按 Enter 键。您现在将收到一条消息,告诉您该进程已终止。
方法#3:通过任务管理器
仅当您知道链接到端口的 PID 时,此方法才有效,为此,您总是必须参考命令提示符或 Powershell。但是一旦找到端口和与之关联的PID,您也可以通过任务管理器结束其关联的进程。以下是如何执行此操作。
按Ctrl+Shift+Esc打开任务管理器。在这里,如果您还没有看到 PID 选项卡,请右键单击其中一个选项卡并选择PID。
现在找到与您要终止的 PID 关联的进程。右键单击该进程并选择结束任务。
就是这样。您现在已经释放了链接到该进程/PID 的端口。
方法 #4:通过 CurrPorts(第三方软件)
有一些第三方应用程序可让您只需单击一下即可终止与端口关联的进程。其中之一是 CurrPorts,这是一款可以快速完成工作的免费软件。
下载: 当前端口
在上述链接上,向下滚动并单击下载 CurrPorts下载文件后,解压其内容,然后运行端口号文件。
CurrPorts 的主页将为您提供与给定进程相关的所有信息,包括其 PID 和正在使用的端口。只需右键单击要终止的进程并选择终止选定端口的进程。
您的端口现在免费。
尽管第三方应用程序比比皆是,但命令提示符和 PowerShell 仍然是终止端口上进程的最常用方法之一,因为它们有助于识别和执行进程,而无需任何无关的下载。我们希望上面提供的方法允许您终止 Windows 11 上任何给定端口上的进程。