PortMon
Shows which process, project or container owns every listening port on your Mac
PortMon reads the kernel's socket tables directly (no lsof, no shelling out) and maps every listening port to its process, project, and Docker/OrbStack/Colima container, with one-click stop or restart. It walks up the process tree to find the actual launcher (npm, cargo, mvn), so restart reruns the original command in the same directory instead of just killing a child pid. A port-guarding mode watches ports you depend on — Postgres, Redis, Kafka and the like — and alerts the moment another process steals one.

What holds up
- +Reads kernel socket tables directly — about 5ms full scan, zero CPU when idle
- +Root helper only lists sockets and sends SIGTERM/SIGKILL, checked by code signature
- +No telemetry, no analytics, no account, per its own FAQ
- +Restarts via the actual launcher (npm, cargo, mvn), not just the child process
Mind the limits
- −macOS 14+ only; $29 one-time plus optional $15/year after 12 months of updates
- −Needs a root helper installed to see or stop processes outside your own user
Featured here? Take the badge
Put it on your site — it links back to this review. Free for every listed product, always.
<a href="https://stillworks.dev/products/p/portmon/"><img src="https://stillworks.dev/badge/portmon.svg" alt="Picked by StillWorks" width="250" height="54"></a>