PORTPILOT / THE HUB
An illustrative star chart of local listeners. Each sample port is a star; observation dashes travel toward PortPilot. Select a star to read its sample details.
:3000 node :5432 postgres :8080 python :6379 redis :5050 simulator host
PORTPILOT / A STAR CHART FOR LOCALHOST
Know what’s listening
Your machine is a small sky. Every listener is a star worth knowing.
The dev server you forgot was still up.
node · :3000 · 127.0.0.1 · LISTEN
← 01 05 → Ⅱ
SAMPLE DATA · ILLUSTRATIVE, NOT A LIVE SNAPSHOT
LISTENERS UNIX SOCKETS CONNECTIONS CRON JOBS PROCESS CONTROL
01 / FIND YOUR BEARINGS
Less hunting.More knowing. One shared core. The surface that fits the moment.
01 / APP & MENU BAR A glance. Then a closer look. A compact view of your machine, with a full workspace when you need the details.
↗ 02 / COMMAND LINE Just the answer you came for. Port ranges, process IDs and JSON output. Small commands that fit your workflow.
↗ 03 / TERMINAL UI Stay where the work is. A full interface in your terminal, built on PortPilot’s own TUI engine.
↗ PortPilot / workspace LOCAL
Listeners Connections Schedules
PORT PROCESS BIND
3000 node 127.0.0.1
5432 postgres 127.0.0.1
6379 redis 127.0.0.1
8080 python 0.0.0.0
One listener uses a wider bind address.A bind address alone does not prove network reachability.
ILLUSTRATIVE INTERFACE · SAMPLE DATA
Explore the app guide ↗
PRIMER / PORTS 101
Ports 101 The handful of ideas behind every port list. Flip a card when one looks unfamiliar.
01 ⌂ 127.0.0.1 ↻ TAP TO FLIP 01 / 127.0.0.1 Loopback. Only programs on this Mac can connect to it. IPv6 writes it as ::1. Where most dev servers belong. 02 ✳ 0.0.0.0 ↻ TAP TO FLIP 02 / 0.0.0.0 A wildcard bind: the listener accepts connections on every interface. Other devices may reach it, depending on firewall and network. A bind address alone doesn’t prove reachability. 03 ◉ LISTEN ↻ TAP TO FLIP 03 / LISTEN A socket waiting for someone to connect. Once a client does, that pair of endpoints is ESTABLISHED. PortPilot shows both, from periodic OS snapshots. 04 ↻ Ephemeral port ↻ TAP TO FLIP 04 / Ephemeral port The temporary port your Mac picks for the client side of an outgoing connection. On macOS the default range is 49152–65535. Not a service. Usually not worth chasing. 05 ⌁ Unix socket ↻ TAP TO FLIP 05 / Unix socket Local-only messaging through a path on disk instead of a TCP port. Databases and container tools use them often. Listed alongside your ports. 06 # PID reuse ↻ TAP TO FLIP 06 / PID reuse Process IDs are recycled. The PID you saw a minute ago may belong to something else now. PortPilot rechecks the process before it sends a signal.
02 / UNDERSTAND BEFORE YOU ACT
A clearer picture.A deliberate next step. 01 See who owns the port. Inspect process identity, bind scope and the context your operating system makes visible.
02 Keep the controls close. Pause, resume or stop a process. Review scheduled commands and local proxy settings from the same workbench.
03 Keep the evidence in view. Periodic observations, explicit freshness and clear limitations. A useful signal deserves a closer look.
Read about controls & boundaries ↗
03 / MAKE YOURSELF AT HOME
Your machine.Your choice of tools. macOS 13+ for the app. Swift 5.9+ for CLI/TUI source builds.
01 / THE MAC APP One cask. A calmer menu bar. Homebrew Copy
brew install --cask sriinnu/tap/portpilotThe Homebrew cask installs the macOS app. CLI and TUI are separate products.
View published releases ↗ 02 / THE TERMINAL Build the tools you want. From source Copy
git clone https://github.com/sriinnu/portpilot.git
cd portpilot
swift build -c release --product portpilot
swift build -c release --product portpilot-tuiThe binaries are written to .build/release/. No app install is needed.
Full installation guide ↗ Source version v3.5.7 · Displayed from the repository at build time. Check release availability ↗
04 / LEAVE A GOOD MAP
The little things,written down. Commands you can copy. Boundaries you can understand. Enough context to make the next move yours.
Open the field guide ↗