做 Java、前端、PHP 或本地微服务开发时,端口占用是个高频小麻烦。项目刚启动,控制台提示 8080 被占用;换个前端项目,3000、5173 又撞上;再加上 Redis、MySQL、Nacos、Docker 容器,本地环境很快就乱成一团。
常规做法是用 netstat、lsof、ss 等命令查到 PID 再杀进程。命令不复杂,但每天反复敲影响效率,团队里有人不熟命令还可能查错进程、杀错服务。
Port Master 是一款跨平台 B/S 架构的端口与进程管理工具,把端口、进程、容器和远程机器集中到一个浏览器页面里操作。

Port Master 是什么
一款跨平台 B/S 架构的端口与进程管理工具。启动服务后,通过浏览器就能扫描本机 TCP/UDP 端口、查看进程详情、释放端口、做连通探测,还能管理 Docker 容器端口、Kubernetes Pod/Service 端口,以及 SSH 远程主机端口。
它不是复杂运维平台,更像开发者桌面上的"端口控制台",适合本地开发、测试环境、轻量部署排查使用。
主要特点
端口管理是核心能力。支持全量扫描,也支持单端口、批量端口、端口段、进程名、PID 查询。比如输入 8000-8100,9090,就能快速看到这些端口的占用情况。
常见服务自动识别,如 MySQL、Redis、Nginx、Nacos 等,看表格时更容易判断端口用途。
空闲端口生成器对开发者很实用。想找几个连续可用的 80xx、30xx、90xx 端口,不用一个个试,页面里生成后复制即可。
还支持端口冲突检测、扫描对比、HTTP 健康探测、TLS 证书到期天数检测,以及端口监控告警。端口异常占用或释放时,可以通过 WebSocket 收到页面提示。

进程管理
端口背后一定关联进程。Port Master 展示 PID、程序路径、启动命令、CPU、内存、创建时间、绑定端口等信息,进程详情支持自动刷新。
确认某个端口不该被占用时,可以在页面里释放端口,也可以正常结束或强制结束进程。还提供进程列表,支持搜索、批量操作、从进程反查端口。

技术架构
后端使用 Spring Boot 3.2、Java 17、Lombok;前端使用 Vue 3、Vite 5、Element Plus、Axios、XLSX。前后端分离架构,也支持前端构建后放进 Spring Boot static 目录,打成一个 jar 包运行。
项目没有引入数据库,分组、监控、历史、主题等配置存放在浏览器 LocalStorage 中,整体轻量。
跨平台能力依赖系统原生命令:Windows 使用 netstat、tasklist、wmic、taskkill;Linux 使用 ss、lsof、ps、kill;macOS 回退到 lsof + netstat 方案。

部署方式
开发模式前后端分离启动:
cd backend
mvn spring-boot:run
cd frontend
npm install
npm run dev
日常使用也可以一体部署:
cd frontend && npm install && npm run build
cd ../backend && mvn clean package -DskipTests
java -jar target/port-master-1.0.0.jar
需要注意,查看其他用户进程、终止进程、获取完整端口信息时,不同系统可能需要管理员或 sudo 权限。

前端和后端
前端是工具台风格,顶部展示 CPU、内存、监听端口数、活跃连接数、运行进程数,中间是端口表格,侧边和工具栏提供分组、监控、远程、Docker、K8s、网络接口、扫描历史等入口。
后端提供 /api 接口,覆盖端口扫描、端口查询、PID 反查、空闲端口生成、冲突检测、HTTP/TLS 探测、按端口释放进程、Docker、K8s、SSH 等能力。

开源协议
Port Master 使用 MIT 协议,可以用于个人学习、二次开发和商业项目集成。使用时建议保留原始版权声明和协议文本。

使用示例
假设本地同时启动 Spring Boot、Vue、Redis、Nacos 和几个 Docker 容器。某个服务启动失败,提示端口冲突。
打开 Port Master,点全量扫描,搜索 8080,就能看到监听进程、PID、路径和启动命令。确认不是需要保留的服务,直接释放端口。容器里的服务,可以切到 Docker 看端口映射;远程测试机的问题,可以通过 SSH 扫描排查。


结语
Port Master 的价值不是替代命令行,而是把高频、重复、容易出错的端口和进程操作做成可视化入口。经常被端口占用、进程残留、容器映射等问题打断开发节奏的开发者,可以把它加入工具箱。