偶尔,当(再次)启动开发服务器时,它会死机并显示端口 8000 已被使用的消息。
跑步
$ lsof -n -i4TCP:8000 | grep LISTEN
然后揭示
Google 18638 <user> 450u IPv6 0x9b020d3ae3f0d7e9 0t0 TCP *:irdmi (LISTEN)
在撰写本文时,唯一的解决方法是完全重启 Chrome。这个端口开放有什么解释吗(可能是插件)或者它是否与在 0.0.0.0:8000 上运行的开发服务器有关?
答案1
我认为这与监听外部设备进行投射有关。您可以尝试禁用包含“媒体”的标志。我无法缩小范围以确定哪个标志实际上在进行监听。chrome://flags/#hardware-media-key-handling。尝试搜索媒体
答案2
如果您有一个进程正在监听某个端口,并且您终止了该进程,它不会立即解除该端口的绑定。我认为大多数 Linux 系统上的默认设置是等待 5 分钟。查看 socket(7) 手册页并查找 SO_REUSEADDR。
答案3
这是因为 8000 端口被用作备用 http 端口