端口被谁占用如何解决?

2023年 10月 15日 36.4k 0

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

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

问题出现

在这里插入图片描述

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上查看端口占用情况,可以按照以下步骤进行操作:

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

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

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

  • 根据上一步看到的PID查看相应的进程或程序:tasklist|findstr "PID号"
    在这里插入图片描述
    我们发现是tim这个程序占用了这个端口

  • 结束相应进程:taskkill /f /t /im 进程名
    在这里插入图片描述
    然后重新运行程序,成功运行
    在这里插入图片描述

  • 解决办法(Linux)

    • 查看所有端口情况:
    • netstat -anp | grep xxx
    • 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"。

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论