Port 9000: What's Using It and Is It Safe to Kill?
Port 9000 is used by php-fpm, SonarQube, MinIO, and more. Here's what listens on it on a Mac, whether it's safe to close, and how to find it.
Port 9000 is a crowded default. Several unrelated tools claim it, so the first job is finding out which one is running. A listener on 9000 is almost always a local service or dev tool.
What typically listens on port 9000
- php-fpm: The PHP FastCGI process manager listens on 9000 by default (some setups use a Unix socket instead).
- SonarQube: The code-quality server’s web UI uses 9000.
- MinIO: The S3-compatible storage server serves its API on 9000 (its console runs on 9001).
- Portainer (older versions): Legacy Portainer used 9000 for its UI; current versions default to 9443 for HTTPS.
- Xdebug 2: Used 9000, but Xdebug 3 moved its default to 9003 specifically to stop clashing with php-fpm.
Because so many tools pick 9000, conflicts are common. It’s in the registered range (1024-49151), so any app can bind it.
Is it safe to kill?
Usually yes. A process on 9000 is typically a local service or dev tool, not a macOS component. Identify the owner first (the command below shows it), then kill it to free the port. As always, don’t end something you still need.
Is it suspicious?
On a development machine, generally no, but because 9000 is so widely used, it’s worth confirming which tool owns it. An unfamiliar process is worth identifying. The command below names it.
How to find and free port 9000 on macOS
lsof -i :9000
The COMMAND column tells you whether it’s php-fpm, SonarQube, or something else. To free it:
kill -9 $(lsof -ti :9000)
Portie shows port 9000 with the exact app that owns it in its live list, which is especially useful here given how many tools compete for it.