Windows:查找端口占用并安全处理

用 PowerShell 区分 TCP 监听与普通连接,找到进程后再决定正常停止或更换端口。

适用于带 NetTCPIP 模块的 Windows。以下命令只查询本机,以 3000 为例;UDP 应改查 Get-NetUDPEndpoint。部分进程信息需要管理员权限。

1. 找到 TCP 监听

只筛选 Listen 状态,避免把浏览器连接的远端端口误当成本机监听。没有匹配结果可能显示“找不到对象”,不代表命令损坏,也不能保证稍后绑定一定成功。

Get-NetTCPConnection -LocalPort 3000 -State Listen |
  Select-Object LocalAddress, LocalPort, State, OwningProcess

2. 确认进程与归属

结合进程路径、启动时间和服务管理界面确认是不是你的程序。多个结果可能来自不同地址;不要仅凭名字终止数据库或系统服务。

Get-NetTCPConnection -LocalPort 3000 -State Listen |
  Select-Object -ExpandProperty OwningProcess -Unique |
  ForEach-Object { Get-Process -Id $_ }

3. 正常停止或调整配置,再复查

若是自己的开发服务器,先在原终端按 Ctrl+C;受管理服务使用其正常停止流程。需要保持运行时,改新应用的监听端口并更新回调与代理。再次执行查询,并确认新应用真正启动成功。不要把 taskkill /F 当作默认步骤。

来源与核验

资料核对日期:

相关端口