最近发现一个问题,就是有时候一些端口号就被莫名其妙占用了。比方说我想本地查看一下 hugo 博客,就发现 8080 端口号被占用了,自动给我换了一个随机端口号。
hugo server -D --bind 0.0.0.0 --port 8080
然而当我用 tcpview 想查看到底是什么程序占用了 8080 端口号的时候,却发现完全查不到。正是因为之前也发生过莫名其妙的占用 1313 端口号的请到,所以我才把端口号改成了 8080 ,没想到还是出现了这样的问题。
请问大家出现过类似的情况吗?话说貌似这个问题频繁出现还是在我换了 Win11 系统以后,莫非真的是阿三程序员的问题?
1
huoshen 2022-02-23 03:55:33 +08:00 via iPhone
想起来以前这个问题,会不会是同一个原因导致的 https://github.com/Fndroid/clash_for_windows_pkg/issues/671
|
2
g531956119 2022-02-23 04:37:28 +08:00 via Android 1
遇到这个问题大多都是因为开启了 hyper-v 导致系统动态分配端口段变低了,不知道 M$是怎么想的
|
3
xwcs 2022-02-23 09:33:05 +08:00
是不是开启了 wsl ,是的话那就是 hyper-v 这个动态端口的问题,每次重启都会占用部分端口,你把这个动态端口的范围拉高就行了,具体操作方法可以看 1 楼的链接
|
4
STtree 2022-02-23 09:39:38 +08:00
我遇到过类似的问题。参考执行下面的操作就好了。
1.net stop winnat 2.启动服务 3.net start winnat 貌似是 2 楼说的 hyper-v 动态分配端口的问题。 这个方法参考自 https://stackoverflow.com/questions/61344554/tomcat-debug-error-unable-to-open-debugger-port-127-0-0-163199-java-net-bin |
5
heart4lor 2022-02-23 10:25:27 +08:00
是楼上说的 Windows 有次更新把动态端口范围改宽了的问题,导致 hyper-v 占用了 1024 以上的某些段作为保留端口;写过一篇博客: https://www.sunyongfei.cn/archives/241/
|
7
james2013 2022-02-23 14:45:12 +08:00
以下在 win10 电脑上使用过,win11 没有试:
查找端口号 netstat -aon|findstr "8848" TCP 192.168.1.11:8848 xxx:443 ESTABLISHED 4772 最后 1 个值是进程值,查看进程所在的软件:tasklist|findstr “4772” chrome.exe 4772 Console 1 38,036 K 使用 PowerShell 命令一键强制杀掉此端口所在进程:Stop-Process -Id (Get-NetTCPConnection -LocalPort 8848).OwningProcess -Force |
8
techstay OP 感谢大家,确实是我开了 wsl 的问题。话说这 m$也太坑了吧,这动态端口号是随便改的?普通用户也就算了,这 hyperv 好像主要也是企业用户用的吧,那些大客户没投诉过吗?
另外点进 1 楼的连接,看到一个兄弟的评论就乐了,因为他和我的解决办法一样,只不过他把端口号设成 16000 ,而我直接设置成了 60000😂 最后动态端口号的范围有没有什么说法,我改成四万到五万,应该不会有什么影响吧。 |