MarkDash / Compare

MarkDash vs lsof and kill

The short answer

Pick lsof and kill if you free a port once in a while, work over SSH, or want it in a script. It’s free and already on every Mac.

Pick MarkDash if you do it every day: it shows every port all the time, tells you which project is behind it, and starts the right one again.

At a glance

Feature MarkDash lsof and kill
What it is Native menu bar app, macOS 15 or later Commands built into macOS
Price $9.99 per Mac at launch, then $19.99, paid once. 14-day trial Free
Lists listening ports Yes Every listening TCP port with process, PID, folder and command. Rescans every 4 s Yes lsof -iTCP -sTCP:LISTEN -n -P, each time you run it
Knows the project Yes Your saved sites by name; any other server by its folder Partly Only with a second command: lsof -a -p PID -d cwd
Starts your projects Yes One click, with your login shell’s PATH. Detects the command from the folder No
Stops a server Yes Quit signal to the whole process tree, force kill after 3 s Yes kill PID, or lsof -ti :3000 | xargs kill
Restarts a server Yes For the sites you saved No
Live logs Yes For the servers MarkDash starts No
Port conflict warnings Yes Port taken, two copies of one project, a server that moved (5173 → 5174). One-click kill No
Saved pages that follow the port Yes Save /admin, /blog… per project. Paste a localhost URL and it’s filed under the right one No
Links, notes and a board Yes Categories, notes, search, To do / Doing / Done board No
Menu bar Yes No
Scripting Partly Shortcuts and Spotlight: open, start and stop sites, open links. No CLI Yes They are the scripting
Also does No No tunnels or share links Yes UDP and every other socket, over SSH, on any Unix

Where MarkDash pulls ahead

  • The list is always there. No command to remember, no output to read through.
  • It names the project, not just node or python. Two node processes stop looking the same.
  • It warns you when Vite quietly moved to 5174 or a second copy of a project is running.
  • Stop sends the quit signal to the whole process tree, so the server and its watchers go together.
  • It starts the project again, in its folder, with your shell’s PATH.

Where lsof and kill is the better pick

  • They are free and already installed.
  • They work over SSH, on Linux and on servers.
  • lsof sees every socket type, UDP included, not only TCP listeners.
  • You can put them in any script, CI job or alias.

Using both

MarkDash runs lsof itself to find listening ports, so the two always agree. Keep the commands for SSH and scripts, and let MarkDash keep the picture for your own Mac.

What they cost

lsof and kill come with macOS.

MarkDash is a one-time purchase per Mac, from $9.99, after a 14-day free trial with every feature. See the licenses.

Questions

How do I see what’s using a port on a Mac?

Run lsof -iTCP:3000 -sTCP:LISTEN -n -P in Terminal, with your port instead of 3000. It prints the command, the PID and the user. For every listening port, leave out the number: lsof -iTCP -sTCP:LISTEN -n -P.

Should I use kill -9?

Try plain kill first. It asks the process to quit, so it can close files and clean up. kill -9 stops it on the spot and can leave lock files or half-written data. MarkDash does the same: the quit signal first, and a force kill only if the process is still there 3 seconds later.

Does MarkDash use lsof?

Yes. It runs lsof every few seconds to read the listening ports, and ps to find each process’s folder and command. That’s why it isn’t on the Mac App Store: sandboxed apps can’t do that.

Try MarkDash on your own projects

Free for 14 days, then $9.99 per Mac, paid once. macOS 15 or later.