# prot-killer **Repository Path**: aihei007/prot-kill ## Basic Information - **Project Name**: prot-killer - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-21 - **Last Updated**: 2026-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Port Killer Tool A modern Windows desktop application for managing network ports and processes. Built with Python and CustomTkinter, it provides an intuitive GUI to query, view, and terminate processes占用特定的端口,特别适合开发环境中需要频繁释放端口的场景。 ## 功能特性 - **端口查询**:快速查询指定端口的占用情况,显示进程 PID、名称和路径 - **端口释放**:强制终止占用指定端口的进程 - **批量处理**:支持同时释放多个端口(逗号分隔) - **Java服务扫描**:一键扫描所有正在运行的 Java/Spring Boot 服务 - **批量结束Java进程**:一次性终止所有 Java 进程 - **实时日志**:显示操作过程中的详细日志信息 - **自动刷新**:支持定时自动刷新端口状态 - **双击结束进程**:表格中双击任意行即可终止对应进程 ## 技术栈 - Python 3.8+ - CustomTkinter (现代化 UI 框架) - PyInstaller (打包为 EXE) ## 项目结构 ``` port-killer/ ├── main.py # 应用入口 ├── run.py # 运行脚本 ├── requirements.txt # 依赖配置 ├── ui/ # UI 组件 │ ├── app.py # 主窗口 │ ├── table_view.py # 表格视图 │ └── log_panel.py # 日志面板 ├── service/ # 业务逻辑 │ ├── port_service.py # 端口服务 │ ├── process_service.py # 进程服务 │ └── logger_service.py # 日志服务 ├── model/ # 数据模型 │ └── port_info.py # 端口信息数据类 ├── utils/ # 工具函数 │ ├── cmd_utils.py # 命令执行 │ ├── process_utils.py # 进程工具 │ └── time_utils.py # 时间格式化 └── docs/ # 文档 └── OPTIMIZATION_PLAN.md ``` ## 安装与运行 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 运行应用 ```bash python main.py ``` 或直接运行: ```bash python run.py ``` ## 使用说明 ### 基本操作 1. **释放单个端口**:在输入框中输入端口号(如 8080),点击"释放端口" 2. **批量释放端口**:输入多个端口,逗号分隔(如 8080,8090,3000) 3. **查看端口状态**:输入端口号,点击"查询状态" 4. **扫描Java服务**:点击"扫描Java服务"按钮查看所有运行的 Java 进程 5. **结束所有Java进程**:点击"结束所有Java"按钮 ### 日志输出示例 ``` [INFO] 正在查询端口 8080... [SUCCESS] 端口 8080 已释放!PID: 12345 [INFO] 操作完成,共释放 1 个端口 ``` ## 打包为 EXE ### 方法 1:一键打包(推荐) ```bash pyinstaller --onefile --windowed --name "Port Killer Tool" --icon=icon.ico main.py ``` 生成的 EXE 文件位于 `dist\Port Killer Tool.exe`。 > **注意**:`icon.ico` 必须是真正的 ICO 格式文件,不能是 PNG/JPG 改后缀,否则图标不会生效。 ### 方法 2:使用 build.bat 双击运行 `build.bat` 文件即可自动打包(已内置上述命令及虚拟环境创建、依赖安装等完整流程)。 生成的 EXE 文件位于 `dist/` 目录下。 ## 常见问题 **Q: 运行时提示"没有权限"?** A: 请以管理员身份运行程序。在 Windows 中右键点击 EXE 或 Python,选择"以管理员身份运行"。 **Q: 打包后 EXE 无法运行?** A: 尝试重新打包,添加 `--debug` 参数查看错误信息,或使用虚拟环境确保依赖干净。 **Q: 打包后的 EXE 很大?** A: 这是 PyInstaller 的正常行为。可以使用 UPX 压缩或切换到 cx_Freeze 获得更小的体积。 ## 代码特点 - **模块化设计**:清晰的分层架构,易于维护和扩展 - **工程化标准**:完整的类型注解和文档字符串 - **GUI 美观**:采用 CustomTkinter 实现现代化界面 - **跨版本兼容**:适配 Python 3.8+ ## 系统要求 - Windows 7 或更高版本 - Python 3.8+ (若不打包为 EXE) - 管理员权限(用于结束进程) ## 许可证 MIT License ## 作者 aihei007