xproc

Run all your dev processes with one command — and watch their logs in a browser.

Procfile-based · real-time searchable logs · everything dies when you Ctrl-C

$ npm install -g @elsetech/xproc

See it in action

A simulated preview of the web UI you get at localhost:12345 — click processes, search, filter, stop and restart. The real thing looks exactly like this, wired to your actual processes.

localhost:12345
web
running
PID
CPU
MEM
localhost:12345
Ctrl-C on xproc run terminates all processes

Quick start

From zero to a live process dashboard in under a minute.

1

Install

# globally, or per-project with -D npm install -g @elsetech/xproc
2

Create a Procfile

./Procfile
web: pnpm dev api: node server.js worker: node worker.js

One process per line: name: command. Lines starting with # are comments.

3

Run

xproc run xproc: web UI at http://localhost:12345 xproc: started web (pid 48231): pnpm dev xproc: started api (pid 48232): node server.js xproc: started worker (pid 48233): node worker.js

Every process starts, and your browser opens the dashboard. Hit Ctrl-C and everything — including grandchild processes — is terminated cleanly (SIGTERM, then SIGKILL after 3s).

Features

Small tool, sharp focus: run things, see logs, kill everything on exit.

>_

One command

xproc run starts every Procfile entry and opens the dashboard. No daemon, no config beyond the Procfile.

Real-time logs

Logs stream over WebSocket with auto-follow. Scroll up to pause, scroll back down to resume.

/

Search & filter

Press / to search the active process's logs, and filter by stream: stdout, stderr, or xproc events.

%

Live CPU / MEM

Per-process CPU and memory sampled every 2 seconds, right in the header.

Process control

Stop, start, and restart individual processes from the UI without touching your terminal.

×

Clean exit

When xproc run exits, the whole process tree goes with it. No orphans, no port squatters.

CLI reference

Everything hangs off a single subcommand.

OptionDefaultDescription
xproc runStart all Procfile processes and the web UI
-f, --procfile <path>./ProcfileProcfile location
-p, --port <port>12345Web UI port; if the default is taken, a random free port is used
--no-openDon't open the browser automatically