• Windows 下端口被占用的原因及解决办法


    运行软件或者项目的时候,出现以下问题:

    panic: blademaster: listen tcp: 0.0.0.0:8080: listen tcp 0.0.0.0:8080: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

    Windows系统

    第一种情况:被其他程序占用

    1、首先判断端口是被谁占用的。

    1)使用运行打开cmd,直接输入 netstat -ano ,回车,最右面对应的是PID=1328.

     注:不建议使用此命令,端口太多,看不过来

    2) 使用运行打开cmd,直接输入 以下命令 ,回车。查看被占用端口对应的PID

    netstat -aon | find "8080" 或   netstat -aon | grep "8080"  #是查看8080单个端口的占用情况

    ******************************************************************************************************

    netstat -aon | findstr "80" 或netstat -aon | findstr :80    #是查看包含80的一系列端口,例800,8080

    2、查看PID对应的进程,输入 tasklist|findstr  "9880",查看占用该端口的进程

    tasklist|findstr  "9880"

    由以上可以看出,占用该端口的就是“vmware-hostd.exe”程序

     1)根据进程号杀掉进程

    taskkill -f -pid 9880 或 taskkill /f /t /im vmware-hostd.exe

    2)在任务管理器找到对应的进程,直接结束进程

    第二种情况:被系统列为保留端口

    提示端口被占用,但是却查不到占用的进程。
    原因是 Windows 会保留一些端口,这些端口刚好处于被系统保留的端口序列里。

    使用以下命令查看

    netsh interface ipv4 show excludedportrange protocol=tcp

    Windows 保留这些端口可能的原因:

    • 因为发现病毒活动而被微软屏蔽
    • 安装过windows update以后,保留的端口列表发生了变化
    • 开启了 Hyper-V 特性

    有以下三种解决办法:

    1. 换用其他端口
    2. 关闭 Hyper-V 特性(可能关闭后还是会占用)
    3. 将这些端口设置为 Administered port exclusions

    netsh int ipv4 add excludedportrange protocol=tcp startport=8000 numberofports=300

    执行该命令之后,进行重启,再次查询保留端口,会发现端口列表末尾会出现一个 * 号,此时这些端口就不会被 Hyper-V 使用。

    Linux系统

    1、查看端口使用情况

    netstat -tln //查所有

    netstat -tln | grep 80 //只查80端口使用情况

    netstat -aptn    //查看当前用户下所有开启的端口号

    netstat -nupl    //查看系统中所有使用udp协议的端口号信息

    netstat -ntpl     //查看系统中使用tcp协议的端口号信息

    2、查看端口属于哪个程序?端口被哪个进程占用

    lsof -i :80

    3、杀掉占用端口的进程

    kill -9 进程id

  • 相关阅读:
    洛谷 P7018 [CERC2013] Bus
    医学主题词表(Medical Subject Headings, MeSH)
    CentOS 挂载新磁盘以及磁盘扩容操作教程
    Topaz Photo AI 3.0.0 (macOS Universal) - AI 图片修复工具
    实现分布式锁SchedulerLock
    Jmeter二次开发实现rsa加密
    Linux内核设计与实现(四)| 中断 & 中断处理(上半部与下半部)
    .NET MAUI发布了期待已久的候选版本(RC1)
    Java集合框架-Collection-List-vector(遗留类)
    linux之tcpdump的用法
  • 原文地址:https://blog.csdn.net/fbbqt/article/details/126928487