别再 `kill -9` 了!这款 macOS 端口工具,专治各种端口占用焦虑

42 阅读3分钟

不知道你有没有过这种崩溃时刻:

本地启动项目,突然报 port 5000 is already in use; 翻遍终端 lsofnetstat 半天,好不容易找到 PID,敲完命令发现杀错进程; 每次调试 K8s 端口转发、Cloudflare 隧道,还要手动记端口号,来回切换浏览器和终端…

作为一名每天和端口打交道的开发者,我实在忍不了这种低效操作,花了点时间做了这款 macOS 状态栏端口管理工具「PortPilot」,今天分享给大家。

image.png

✨ 它解决了什么问题?

一句话:把端口管理从「命令行地狱」拉回「可视化天堂」,常驻状态栏,点开就用,无需额外配置。

🔍 核心功能,全是开发者刚需

  • ✅ 全端口实时监控:点击状态栏图标,就能看到系统所有 TCP LISTEN 端口,自动智能分组,进程名、PID 一目了然
  • ✅ 一键解决端口占用:每个端口直接右键或点按钮,优雅终止(SIGTERM)或强制终止(SIGKILL),超时自动升级,不用再敲 lsof -i:xxxxkill -9
  • ✅ 快捷操作,效率拉满
    • 一键复制端口号
    • 一键在浏览器打开 localhost:端口号
    • 支持全局刷新、一键 Kill All 非系统进程端口
  • ✅ 适配开发全场景:自动识别并分组管理以下进程类型,开发调试、隧道管理、K8s 本地开发全适配
分组识别的进程
Cloudflare 隧道cloudflared
K8s 端口转发kubectl
Dockerdockerdocker-proxycontainerd
本地开发nodepythonrubyjavanginx
系统系统进程和知名端口(22、80、443…)

🎨 轻量无负担,原生 macOS 体验

  • 常驻状态栏,无 Dock 图标,不占后台资源,体积仅 ~1MB
  • 支持浅色/深色模式,和系统 UI 无缝适配
  • 自定义快捷键:⌘R 刷新、⌘K 一键杀进程、⌘, 设置,手不离开键盘也能操作
  • 支持端口过滤、排除规则配置,不想被系统进程打扰可以一键隐藏
  • Intel (x86_64) / Apple Silicon (arm64) 双架构原生支持

📦 怎么获取 & 使用?

  1. 下载安装包:GitHub Releases,打开 DMG,拖入应用程序文件夹即可
  2. 启动后常驻状态栏,点击 ⇅ 图标即可查看所有端口
  3. 鼠标悬停在目标端口上,点击操作按钮或右键,搞定!

🛠 技术栈

AppKit (NSStatusItem + NSPopover) + SwiftUI | Combine | POSIX 信号 | lsof

项目完全开源,欢迎 Star、PR 和 Issue:

🔗 GitHub 仓库:github.com/Ghjsw/PortP…


💡 写在最后

做这个工具的初衷,就是想解决开发者日常最琐碎、最影响效率的小事。 现在我本地启动项目、调试服务,再也不用来回切换终端和浏览器,点开状态栏就能搞定,省下的时间摸鱼香多了 😂

如果你也被端口占用、命令行查进程搞烦了,不妨试试它,有任何问题或功能建议,欢迎在评论区或仓库里反馈,一起迭代优化!

标签:macOS、开发工具、效率神器、端口管理、开源项目