Windows 中遇到莫名奇妙的端口被占用解决
第一步:查找占用程序
netstat -aon|findstr "端口号"
返回内容中,可能存在两种情况:
- 有进程占用
- 无进程占用
如果有进程占用,最后一列是占用进程的ID,可以从任务管理器中找到对应ID的进程信息,或者直接结束进程:
taskkill /pid 程序PID -t -f
如果无进程占用,这个时候,很多人会很奇怪或不知所措,其实这种情况是存在的,其主要原因可能就是端口被应用程序设置为保留端口而无法使用,如Hyper-V保留。解决方法请看下一步。
第二步:通过第一步命令找不到被占用程序,可能是被系统保留
查看保留端口信息:
netsh interface ipv4 show excludedportrange protocol=tcp
检查被占用的端口是否在此列表范围中,如果是的话,如果是 Hyper-V 的原因的话:
-
停用Hyper-V
控制面板》程序》启用或关闭windows功能》去掉Hyper-V的勾选》确定并重启电脑
-
重启后,设置保留端口,以便Hyper-V不会将其占用
netsh int ipv4 add excludedportrange protocol=tcp startport=50070 numberofports=1
-
重新启用Hyper-V
控制面板》程序》启用或关闭windows功能》勾选Hyper-V》确定并重启电脑