在 Windows 里,最接近 lsof -i:8766 的命令是 netstat -ano | findstr 8766,建议先用它查出占用端口的 PID,再用 tasklist 定位是哪个程序。
- 查端口对应的 PID :打开 CMD(普通权限即可),执行
netstat -ano | findstr 8766,输出里最后一列就是 PID。注意findstr是模糊匹配,可能带出 18766、87660 这类结果,看第二列本地地址0.0.0.0:8766或[::]:8766、且状态为LISTENING的那一行才是有效记录。 - 根据 PID 找进程名 :执行
tasklist | findstr <PID>,把上一步查到的 PID 替换进去,就能看到对应的程序名,比如java.exe、node.exe。 - 可选:直接显示进程名 :用管理员身份打开 CMD,执行
netstat -ano | findstr 8766加上-b参数(即netstat -abno | findstr 8766),可以直接在结果里看到占用端口的程序名,省掉第二步。 - 结束进程(需要时才做) :确认不是系统关键服务后,管理员 CMD 里执行
taskkill /PID <PID> /F强制结束。
如果想看更结构化的输出,也可以用 PowerShell 的 Get-NetTCPConnection -LocalPort 8766 | Select-Object LocalAddress,LocalPort,State,OwningProcess,同样能得到 PID。