AbsoluteJS

absolute ps

List and manage every running AbsoluteJS server on the machine — including orphans no registry knows about.

#Usage

absolute ps prints a table of the dev, start, and compiled servers currently running — name, port, pid, uptime, memory, and status. Add --watch for an auto-refreshing dashboard that adds a memory peak and trend sparkline per server, and lets you stop the highlighted server (s) or free its port (f, prefilled) without typing it, or --json for scripting.

BASH
# List every running AbsoluteJS server on the machine
absolute ps

# Auto-refreshing dashboard you can act on
absolute ps --watch

# Machine-readable output
absolute ps --json

#Catching orphans

Rather than trusting a registry file, ps scans the machine's listening sockets (via lsof, falling back to ss) and unions the result with the servers AbsoluteJS launched. So it still shows a server whose dev controller died, a hand-run bun dist/server.js build, or anything else holding a port — these appear with the untracked source so you always know what is actually running.

absolute ps
$ absolute ps
NAME SOURCE PORT PID UPTIME MEM STATUS URL my-app dev 3000 48210 2m 14s 142.6 MB ready http://localhost:3000/ api-server untracked 3001 51388 5h 42m 88.1 MB ready http://localhost:3001/

#Stopping servers

Pass --kill a pid or a port to stop a single server (handy for freeing a port an orphan is squatting), or --kill-all to clear every running server at once.

BASH
# Stop a server by pid, or free a port an orphan is squatting
absolute ps --kill 48210
absolute ps --kill 3001

# Stop every running server
absolute ps --kill-all

#Port conflicts

When absolute dev finds its port already taken, it names the process holding it before falling back to the next port — so you can decide whether to absolute ps --kill it or move on.

absolute dev
$ absolute dev
Port 3000 is in use (held by pid 51388 — bun run dist/server.js), trying another one... → http://localhost:3001/