Port manager apps for Mac: lsof alternatives
lsof and kill are free and already on your Mac. There are also free command-line tools, a Raycast extension and several menu bar apps, Portlivo among them. Here’s what each one does, checked against its own page.
By Anmol Sethi · Updated
At a glance
| Type | Price | Shows the project | Stop | Restart | Logs | |
|---|---|---|---|---|---|---|
| lsof + kill | Built into macOS | Free | With a second command | Yes | No | No |
| Activity Monitor | Built into macOS | Free | No (and no port column) | Quit | No | No |
npx kill-port | npm command | Free, MIT | No | Yes (SIGKILL) | No | No |
fkill | npm command | Free, MIT | No | Yes | No | No |
| Raycast Dev Servers | Raycast extension | Free, needs Raycast | Yes | Yes | Yes | Startup log |
| LocalhostBar | Menu bar app, macOS 13+ | Free, MIT | Yes (folder) | Yes | Not listed | Not listed |
| PortKiller | Menu bar app, macOS 15+ and Windows | Free, MIT | Category only | Yes | Not listed | Not listed |
| Laravel Herd | App | Free, Pro paid | Herd sites | Herd services | Herd services | Herd’s own |
| Portlivo | Menu bar app, macOS 14+ | $8.99 once, 7-day trial | Yes (folder and command) | Yes | Yes | Yes |
Checked against each tool’s own page or README on October 17, 2026. “Not listed” means the page doesn’t mention it, not that the tool can’t do it.
Rather click than type? Portlivo shows every port with its project and frees it in one click. Try it free for 7 days →
lsof and kill
Free, built in and scriptable. Great when you know the port. It gets slow when you don’t: the output shows node rather than your project, and finding the folder takes a second command. See how to see every dev server and how to kill the process on a port.
Activity Monitor
Good for CPU and memory, but it has no port column. You open one process at a time to see its sockets.
kill-port and fkill
Two free npm commands for when you already know the port. npx kill-port 3000 finds the listener and sends SIGKILL, so the server can’t clean up. fkill :3000 stops the process on a port, and fkill on its own opens an interactive, fuzzy-search picker. Neither shows you what’s running before you stop it.
Raycast Dev Servers
A Raycast extension that lists running dev servers grouped by project, with ports, uptime and framework tags, and can start, restart, kill and open them, with a live startup log and a menu bar count. A strong choice if you live in Raycast and mostly run JavaScript dev servers.
Laravel Herd
Herd manages its own sites and services very well. It doesn’t show the Vite, Next.js or artisan servers you started yourself, or anything in Docker. Portlivo reads Herd and Valet’s config, so your .test sites appear next to everything else.
Where Portlivo is different
- Kill Holder & Retry: when a server fails because its port is taken, a notification stops the holder and starts your command again.
- Stops things the right way: Homebrew services through
brew servicesand containers throughdocker stop, so they don’t respawn. It re-checks the PID first and leaves root-owned processes alone. - More than JavaScript: Vite, Next.js, Laravel (artisan, Herd, Valet), Rails, Django, FastAPI, Go, Docker and OrbStack containers, and Homebrew or launchd services.
- Restart, logs, HTTP health and live previews for each server, from the keyboard.
- Terminal and automation: the
devportscommand (works from Raycast too) and Shortcuts actions. - Native and private: SwiftUI, no account, no analytics in the app, and no permissions beyond optional notifications.
When Portlivo is worth it
- You run several projects at once and lose track of what is on which port.
- You hit “address already in use” more than once a week.
- AI agents start servers for you and leave them running.
- You want logs, restarts and health for every server in one place, from the keyboard.
If you only free a port now and then, lsof is enough, and a free menu bar app covers seeing and stopping. If you want the rest, try Portlivo free for 7 days.
Try Portlivo free for 7 days. Every feature, no account.
Download for MacStill have a question?
Write to us — a real developer reads every email and replies personally.