一个简单高效的 Windows 端口管理工具,帮助你快速释放被占用的端口。
在开发过程中,你是否经常遇到这样的错误?
Error: listen EADDRINUSE: address already in use :::8089
端口已被占用,无法启动服务...
Kill-Port-Windows 让你用一条命令就能解决这个问题!不再需要:
- ❌ 手动查找进程ID
- ❌ 记忆复杂的命令
- ❌ 重启整个系统
- ✅ 一键释放端口 - 只需指定端口号,自动完成所有操作
- ✅ 智能进程识别 - 自动查找并显示占用端口的进程详情
- ✅ 安全确认机制 - 终止前显示进程信息,支持确认或强制模式
- ✅ 实时验证 - 自动验证端口是否成功释放
- ✅ 彩色输出 - 清晰易读的控制台输出
- ✅ 友好的错误处理 - 详细的错误提示和解决建议
- ✅ 交互式/命令式 - 支持参数模式和交互模式
- Windows 10 或更高版本
- PowerShell 5.1 或更高版本(系统自带)
-
下载脚本
# 克隆仓库 git clone https://github.com/GaoSSR/Kill-Port-Windows.git cd Kill-Port-Windows
或者直接下载
kill_port.ps1文件到你的项目目录。 -
设置执行策略(首次使用可能需要)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
.\kill_port.ps1 -Port 8089.\kill_port.ps1 -Port 8089 -Force.\kill_port.ps1
# 然后根据提示输入端口号.\kill_port.ps1 -HelpPS> .\kill_port.ps1 -Port 8089
🔍 正在查找占用端口 8089 的进程...
📊 找到以下进程占用端口 8089:
进程ID: 12345
进程名称: python
程序路径: C:\Python311\python.exe
内存占用: 45.23 MB
📡 连接状态:
0.0.0.0:8089 -> 0.0.0.0:0 [Listen]
⚠️ 是否终止这些进程?(Y/N): y
🔨 正在终止进程...
✅ 已终止进程 PID: 12345
📈 操作结果:
成功:1 个进程
🔍 正在验证端口状态...
✅ 端口 8089 已成功释放!
=== 操作完成 ===PS> .\kill_port.ps1 -Port 3000 -Force
🔍 正在查找占用端口 3000 的进程...
📊 找到以下进程占用端口 3000:
进程ID: 8765
进程名称: node
...
🔨 正在终止进程...
✅ 已终止进程 PID: 8765
✅ 端口 3000 已成功释放!PS> .\kill_port.ps1 -Port 5000
🔍 正在查找占用端口 5000 的进程...
✅ 端口 5000 未被占用,无需操作| 参数 | 类型 | 必需 | 说明 |
|---|---|---|---|
-Port |
整数 | 否* | 要释放的端口号(1-65535) |
-Force |
开关 | 否 | 不询问确认,直接终止进程 |
-Help |
开关 | 否 | 显示帮助信息 |
* 如果不提供 -Port 参数,将进入交互式模式提示输入
原因: 某些系统进程需要管理员权限才能终止。
解决方案:
- 右键点击 PowerShell
- 选择"以管理员身份运行"
- 重新执行脚本
原因: PowerShell 执行策略限制。
解决方案:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser原因: 可能处于 TIME_WAIT 状态。
解决方案:
- 等待 30-60 秒让系统自动清理
- 重新运行应用程序通常会自动清理
# 方法1:逐个关闭
.\kill_port.ps1 -Port 8089 -Force
.\kill_port.ps1 -Port 3000 -Force
.\kill_port.ps1 -Port 5000 -Force
# 方法2:批量脚本
@(8089, 3000, 5000) | ForEach-Object {
.\kill_port.ps1 -Port $_ -Force
}# PowerShell 命令
Get-NetTCPConnection -State Listen | Select-Object LocalPort, OwningProcess | Sort-Object LocalPort如果你想了解更多关于 Windows 端口管理的知识,请查看:
- 关闭端口教程.md - 完整的 Windows 端口管理指南
- 手动命令详解
- 高级技巧
- 安全注意事项
- 更多实战案例
-
不要随意终止未知进程
- 脚本会显示进程详情,请在确认后再终止
- 某些系统进程对 Windows 运行至关重要
-
谨慎使用 -Force 参数
- 强制终止可能导致未保存的数据丢失
- 对于数据库等服务,建议先正常关闭
-
避免终止系统服务
- 不要终止
svchost.exe、services.exe等系统进程 - 如果不确定,先搜索进程名称
- 不要终止
- 操作系统: Windows 10/11 或 Windows Server 2016+
- PowerShell: 5.1 或更高版本
- 权限: 普通用户权限(某些进程可能需要管理员权限)
欢迎贡献!如果你有任何建议或发现了 bug,请:
- Fork 这个仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开一个 Pull Request
- 保持代码风格一致
- 添加必要的注释
- 更新文档(如果需要)
- 测试你的更改
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
这意味着你可以自由地:
- ✅ 商业使用
- ✅ 修改
- ✅ 分发
- ✅ 私人使用
如果这个工具对你有帮助,请给我一个 ⭐!
- 提交 Issue:GitHub Issues
- 讨论区:GitHub Discussions
感谢所有为这个项目做出贡献的人!
Built with ❤️ by AI Assistant