端口被谁占用如何解决?

																																																## 如何查看端口被谁占用了?

你好,我是Hasity
今天分享的内容是:Windows/Linux端口被占用如何解决?

问题出现

端口被谁占用如何解决?_第1张图片

Description:

Web server failed to start. Port 8082 was already in use.

Action:

Identify and stop the process that's listening on port 8082 or configure this application to listen on another port.
解决办法(Win)

我们发现是8082端口被占用,要在Windows上查看端口占用情况,可以按照以下步骤进行操作:

  1. 打开命令窗口:Win+R,输入cmd,回车。

  2. 查看所有端口情况:netstat -ano
    在这里插入图片描述

  3. 查看指定端口使用情况:netstat -aon|findstr "端口号"

  4. 根据上一步看到的PID查看相应的进程或程序:tasklist|findstr "PID号"
    端口被谁占用如何解决?_第2张图片
    我们发现是tim这个程序占用了这个端口

  5. 结束相应进程:taskkill /f /t /im 进程名
    在这里插入图片描述
    然后重新运行程序,成功运行
    端口被谁占用如何解决?_第3张图片

解决办法(Linux)
  • 查看所有端口情况:
    1. netstat -anp | grep xxx
    2. netstat -tunlp |grep 端口号

netstat -anp和netstat -tunlp这两条命令都用于展示网络状态,但它们展示的内容和重点有所不同。
netstat -anp命令会显示所有的网络连接以及监听的端口和进程等相关情况。其中,“-a”参数表示显示所有的连接和监听端口,无论其状态如何;“-n”参数表示以数字形式显示地址和端口号,而不尝试使用域名、服务名或用户名;“-p”参数表示显示进程的PID和名称。
netstat -tunlp命令则主要用于显示TCP和UDP的端口状态,以及监听端口和相关进程的情况。其中,“-t”参数表示显示TCP协议的端口状态,“-u”参数表示显示UDP协议的端口状态,“-n”参数表示以数字形式显示地址和端口号,“-l”参数表示仅显示正在监听的端口。
因此,可以说netstat -anp命令显示的是所有网络连接、监听端口和相关进程的概况,而netstat -tunlp命令则侧重于展示TCP和UDP协议的端口状态和监听端口。

  • 根据PID值杀死该进程 sudo kill -9 进程PID

进程PID"是占用该端口的进程的进程ID。通过"sudo kill -9"命令可以强制终止该进程。
请注意,在使用这些命令时,需要具有管理员权限。如果你没有管理员权限,则需要在命令前加上"sudo"。

你可能感兴趣的:(52bug,java)