Windows 按端口号终止进程
Windows Kill Process By PORT Number
我在 Spring 工具套件 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.
有一些类似的问题,但 none 的答案不适合我。
Solution 1: Kill Process
运行 作为管理员的命令行
netstat -ano | findstr :<yourPortNumber>
taskkill /PID <typeyourPIDhere> /F
Solution 2: Change Port
请确保您要为应用程序设置的新端口不会侦听任何其他进程
Change the port
server.port=8088 # Server HTTP port.
Solution 3:
Another way is to terminate the process (in IDE) and clean and rebuild project.
更新:
对于解决方案 2,请确保您要为应用程序设置的新端口不会侦听任何其他进程。
如何查看端口状态?
选项 1
运行 resmon.exe
然后转到 Network -> 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。
我发现 PatelRomil 的回答对我不起作用。我发现 运行:
netstat -a -o -n
并获取端口的 PID,然后 运行:
taskkill /F /PID [PID]
对我有用。将 [PID]
替换为上一个命令中 table 中的值。
我在 Spring 工具套件 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.
有一些类似的问题,但 none 的答案不适合我。
Solution 1: Kill Process
运行 作为管理员的命令行
netstat -ano | findstr :<yourPortNumber>
taskkill /PID <typeyourPIDhere> /F
Solution 2: Change Port
请确保您要为应用程序设置的新端口不会侦听任何其他进程
Change the port
server.port=8088 # Server HTTP port.
Solution 3: Another way is to terminate the process (in IDE) and clean and rebuild project.
更新:
对于解决方案 2,请确保您要为应用程序设置的新端口不会侦听任何其他进程。
如何查看端口状态?
选项 1
运行 resmon.exe
然后转到 Network -> 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。
我发现 PatelRomil 的回答对我不起作用。我发现 运行:
netstat -a -o -n
并获取端口的 PID,然后 运行:
taskkill /F /PID [PID]
对我有用。将 [PID]
替换为上一个命令中 table 中的值。