一文解决windows电脑端口被占用问题,专治疑难杂症和port xxxx was already in use 说再见

这篇具有很好参考价值的文章主要介绍了一文解决windows电脑端口被占用问题,专治疑难杂症和port xxxx was already in use 说再见。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用windows开发的小伙伴肯定会经常遇到如下图这种情况,这个时候我们最简单的解决方案就是重启,一般重启就能搞定这个问题,但是吧每次重启需要开一大堆软件,比较麻烦,接下来我们将通过 2种方案 解决端口被占用的情况:
windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux

一、常规方案

1.1 找出端口被哪个线程占用

netstat -aon|findstr "13800" # 这里的13800即要查询的端口号

windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux

1.2 查询这个进程的信息

tasklist|findstr "12884" # 这里的12884即线程号 1.1找到的线程号

windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux

关闭占用端口号的进程

方式一 :根据进程号杀死进程
taskkill /T /F /PID 12884  # 这里的12884 为PID,根据1.2 查到

结果如下
windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux

方式二: 根据进程名称杀死进程

这种有风险,如果你本地起了多个java进程(多个java项目),那么就会被全部杀死,==切记 java.exe 不可以使用这种 ==。

taskkill /f /t /im "java.exe"

如下图所示,所有java进程都被杀死了,不说了还得一个个去重启项目。
windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux

二、非常规方案(适用于通过方案一找不到哪个程序占用了端口号)

有些时候,我们使用netstat命令找不到对应端口占用的程序,比如我 skywalking-oap 服务今天就是因为12800被占用了然后起不来了。

netstat -aon|findstr "12800"

啥线程都没找到。
windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux
这是因为这些端口被用作了windows自己的保留端口,每次开机,windows就会随机保留一些端口,原因如下:

  • 开启了 Hyper-V 特性(安装docker,或者linux虚拟机 )
  • 因为发现病毒活动而被微软屏蔽
  • 安装过windows update以后,保留的端口发生变化

由于这些端口被保留,所以即使没有任何程序在使用,用户自己创建的程序也无法使用这些端口,想解决这个问题,有2种:

2.1 临时解决方案(靠运气)

重启电脑,直到需要的端口不在保留端口中。

2.2 彻底的解决方案

网上有很多方案说让禁用 Hyper-v的禁用和启用的命令如下:

 # 禁用
 dism.exe /Online /Disable-Feature:Microsoft-Hyper-V /All
 # 启用
 dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

如果你用不到的话确实禁用hyper-v ,如果用的到 那就可以用下面的方案:

2.2.1 查看保留的端口范围

Windows 中有一个「TCP 动态端口范围」,处在这个范围内的端口,有时候会被一些服务占用。

netsh int ipv4 show dynamicport tcp

windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux
这只是一个「待选择」范围,并不代表其中的所有端口都会被保留,只是有一部分会被 Hyper-V 征用。使用

netsh int ipv4 show excludedportrange protocol=tcp 

命令可以查看当前所有已经被征用了的端口,如图 所示。我前提到的skywalking-oap的 12800 就在保留端口范围里。这里 * 标注的代表这些范围内的端口不会被作为保留端口使用。
windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux

2.2.2 将需要用到的端口排除掉
 $ netsh int ipv4 add excludedportrange  protocol=tcp startport=8081 numberofports=10
 # 这里8081为开始的端口,10的意思为8081-8090这些端口全都要移出保留端口,如果只想8081不作为端口,那么10可以改成1

windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux

或者 重新设置一下「TCP 动态端口范围」,让 windows只在我们设定的范围内保留端口即可。可以以管理员权限运行下面的命令,将「TCP 动态端口范围」重新设定为 49152-65535。如果你觉得这个范围太大,还可以改小一点。

netsh int ipv4 set dynamic tcp start=49152 num=16384
netsh int ipv6 set dynamic tcp start=49152 num=16384

重启电脑后,再运行命令 netsh int ipv4 show dynamicport tcp 查看动态端口范围,发现确实已经修改为了 49152-65535。现在只有这个范围内的端口可能会被保留了,基本不会影响日常使用。
windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux
windows端口被占用怎么解决,windows,运维,开发工具问题,windows,java,linux

三、微软官方文档-保留一系列临时端口

上面的方法主要是如何排除保留端口,如果想要添加保留端口,让应用程序无法使用这些端口,可以参考微软官方的做法
在运行 Windows Server 2003 或 Windows 2000 Server 的计算机上保留一系列临时端口
https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/networking/reserve-a-range-of-ephemeral-ports文章来源地址https://www.toymoban.com/news/detail-719730.html

到了这里,关于一文解决windows电脑端口被占用问题,专治疑难杂症和port xxxx was already in use 说再见的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决 Windows11 莫名端口占用,而又找不到占用应用的奇怪问题

    解决 Windows11 莫名端口占用,而又找不到占用应用的奇怪问题。 起初是 Clash 的 7980 端口报冲突(不建议用默认端口有可能会被扫描),后来又遇到了 qBittorrent 的 59854 端口无法连接但同一网络下的其他设备却能建立连接。 尝试用命令却找不到任何占用这个端口的程序。 这个

    2024年02月13日
    浏览(31)
  • Toaster - Android 吐司框架,专治 Toast 各种疑难杂症

    https://github.com/getActivity/Toaster 想了解实现原理的可以点击此链接查看:Toaster 源码 如果你的项目 Gradle 配置是在 7.0 以下,需要在 build.gradle 文件中加入 如果你的 Gradle 配置是 7.0 及以上,则需要在 settings.gradle 文件中加入 配置完远程仓库后,在项目 app 模块下的 build.gradle 文件

    2024年02月07日
    浏览(45)
  • Mac电脑80端口被占用的2种解决办法

    我研发用的是 Mac电脑 ,查看 80端口 被占用的进程命令: sudo lsof -i:80 我Mac电脑80端口占用进程如下: httpd进程 占用了80端口,httpd进程即为 Apache服务 ,下面提供了 2种 解决办法。 Apache服务 启动和暂停,可以使用 apachectl 命令行: sudo apachectl restart 和 sudo apachectl stop 我的电脑

    2024年02月08日
    浏览(41)
  • Windows Docker 端口占用错误解决

    Error invoking remote method ‘docker-start-container’: Error: (HTTP code 500) server error - Ports are not available: exposing port TCP 192.168.0.157:6555 - 0.0.0.0:0: listen tcp 192.168.0.157:6555: can’t bind on the specified endpoint. 或者 Error invoking remote method ‘docker-start-container’: error: (http code 500) server error - ports are not

    2024年02月06日
    浏览(38)
  • Windows、Mac、Linux端口占用解决

    在使用计算机网络时,经常会遇到端口被占用的问题。当一个应用程序尝试使用已经被其他程序占用的端口时,会导致端口冲突,使应用程序无法正常运行。本文将介绍在Windows、Mac和Linux操作系统上解决端口占用问题的方法。 1.1 Windows 在Windows系统中,可以使用 netstat 命令来

    2024年02月12日
    浏览(34)
  • 如何解决vscode频繁唤起git for Windows 导致电脑内存占用多大,cpu占用率飙升、风扇狂转问题

    亲爱的小伙伴,你是不是发现最近电脑风扇狂转,在打开任务管理器后发现 git for window 占用了大量的cup和内存。不要担心,一招教你解决这个问题。 如下图, 希望可以帮助到你哟!

    2024年02月12日
    浏览(58)
  • zookeeper:启动后占用8080端口问题解决

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务。它为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 我们经常在运行zookeeper服务时,不需要配置服务端口,服务默认会使用8080端口。若此端口与系统其他服

    2024年01月25日
    浏览(30)
  • 完美解决443端口被vmware占用的问题

    因为某些原因需要使用443端口,但服务总是启动不了,提示443端口被占用,于是查询了一下, win+R→cmd→netstat -aon | findstr “443”,找到443端口对应的进程PID ctrl+alt+delete打开任务管理器,在详细信息里找到PID对应的进程名,发现是vmware-hostd.exe 直接结束可以暂时解决问题,结

    2024年01月16日
    浏览(31)
  • 解决安装了k3s以后80和443端口被占用的问题

    今天服务器安装了一个k3s,该服务器的其他服务就都访问不了了,查了一下是因为k3s默认会安装traefik来替代k8s的ingress来代理流量,此时默认情况会占据系统的 80 和 443 端口。 并且很奇怪的是lsof -i:80 都查不到traefik这个端口。因为通过iptables来转发流量所以lsof不会找到该应用

    2024年02月11日
    浏览(32)
  • 解决电脑连接HC-06出现的疑难杂症

    1.HC-06接电信号灯不亮 一开始用面包板,32单片机给HC-06供电,发现HC-06信号灯不亮。 考虑到供电稳定性的问题,暂时用ST-LINK给HC-06供电,信号灯开始闪烁。 2.使用CH340接HC-O6发送AT指令没反应 波特率初始默认9600,连接后发送框不要打回车,清空后再敲入AT发送,即可收到回复。

    2024年04月26日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包