Windows按端口号杀死进程[重复]

Posted

技术标签:

【中文标题】Windows按端口号杀死进程[重复]【英文标题】:Windows Kill Process By PORT Number [duplicate] 【发布时间】:2019-08-14 03:53:22 【问题描述】:

我在 Spring Tool Suite IDE 中使用嵌入式 Tomcat 服务器。我的问题是当我运行我的项目时出现如下错误,

***************************
APPLICATION FAILED TO START
***************************

Description:

The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured.

Action:

Verify the connector's configuration, identify and stop any process that's listening on port 8080, or configure this application to listen on another port.

有一些类似的问题,但没有一个答案不适合我。

【问题讨论】:

【参考方案1】:

解决方案 1:杀死进程

以管理员身份运行命令行

netstat -ano | findstr :<yourPortNumber>
taskkill /PID <typeyourPIDhere> /F

解决方案 2:更改端口

请确保您要为您的应用程序设置的新端口不会监听任何其他进程

Change the port 
server.port=8088 # Server HTTP port.

解决方案 3: 另一种方法是终止进程(在 IDE 中)并清理并重建项目。

更新:

对于解决方案 2,请确保您要为应用程序设置的新端口不会监听任何其他进程

如何查看端口状态?

选项 1

运行resmon.exe并转到Network -&gt; Listening Port(也可以在TaskManager上查看)


选项 2

PowerShell

Get-Process -Id (Get-NetTCPConnection -LocalPort portNumber).OwningProcess

cmd

 C:\> netstat -a -b

(添加 -n 以阻止它尝试解析主机名,这将使其更快。)

-a 显示所有连接和监听端口。

-b 显示创建每个连接或侦听端口所涉及的可执行文件。在某些情况下,众所周知的可执行文件托管多个独立组件,在这些情况下,会显示创建连接或侦听端口所涉及的组件序列。在这种情况下,可执行文件名称在底部的 [] 中,顶部是它调用的组件,依此类推,直到到达 TCP/IP。请注意,此选项可能很耗时,并且除非您拥有足够的权限,否则会失败。

-n 以数字形式显示地址和端口号。

-o 显示与每个连接关联的拥有进程 ID。

【讨论】:

无冒号为我工作 'netstat -ano | findstr '【参考方案2】:

我发现 PatelRomil 的回答对我不起作用。我通过运行发现:

netstat -a -o -n

并获取端口的 PID,然后运行:

taskkill /F /PID [PID]

为我工作。将[PID] 替换为上一条命令中表中的值。

【讨论】:

你好@JackU,你能告诉我哪个选项不适合你 @PatelRomil 嗨,Option 1:在我的情况下,无法从 IDE 中终止进程。 Option 2:也不可能因为外部应用程序正在使用该端口。 Option 3:使用 CMD findstr is not recognized as an internal pr external command 时出现错误。我意识到您的Option 3 和我的回答非常相似,除了查找PID 的方式之外,我无法按照您的回答进行操作。我毫不怀疑,您的回答将在大多数情况下成为解决方案。选项基于编辑前的顺序。

以上是关于Windows按端口号杀死进程[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Windows平台,通过端口号,杀死进程

Windows查看端口号,杀死端口号

cmd批处理bat命令根据端口号一键关闭杀死对应进程程序

Windows CMD查看端口和进程杀死进程

windows下通过PID杀死进程

Linux系统根据端口号来查看其进程并杀死进程