Windows:查找端口占用并安全处理
用 PowerShell 区分 TCP 监听与普通连接,找到进程后再决定正常停止或更换端口。
适用于带 NetTCPIP 模块的 Windows。以下命令只查询本机,以 3000 为例;UDP 应改查 Get-NetUDPEndpoint。部分进程信息需要管理员权限。
1. 找到 TCP 监听
只筛选 Listen 状态,避免把浏览器连接的远端端口误当成本机监听。没有匹配结果可能显示“找不到对象”,不代表命令损坏,也不能保证稍后绑定一定成功。
Get-NetTCPConnection -LocalPort 3000 -State Listen |
Select-Object LocalAddress, LocalPort, State, OwningProcess2. 确认进程与归属
结合进程路径、启动时间和服务管理界面确认是不是你的程序。多个结果可能来自不同地址;不要仅凭名字终止数据库或系统服务。
Get-NetTCPConnection -LocalPort 3000 -State Listen |
Select-Object -ExpandProperty OwningProcess -Unique |
ForEach-Object { Get-Process -Id $_ }3. 正常停止或调整配置,再复查
若是自己的开发服务器,先在原终端按 Ctrl+C;受管理服务使用其正常停止流程。需要保持运行时,改新应用的监听端口并更新回调与代理。再次执行查询,并确认新应用真正启动成功。不要把 taskkill /F 当作默认步骤。
来源与核验
资料核对日期: