Run PM2 from your pocket.
PM2 is a native Android client for the PM2 Node.js process manager. Connect it to the open-source pm2‑forwarder bridge running beside your daemon and get a live view of every process, plus real-time log tailing and control over restart, reload, scale, stop, and more. No dashboard to host, no shell to babysit. Built for developers who want fast, accurate answers about what their servers are doing right now.
Dashboard
- Fleet Pulse hero card with an online-process count and a status donut (online / stopped / errored)
- Fleet-wide CPU percentage and human-readable memory totals
- Status tiles for Online, Stopped, Errored, and Total
- "Needs attention" list surfacing errored/stopped processes with quick Restart and Logs
- Hot-processes list ranked by CPU and memory, with per-process bars and uptime
- Terminal-style stderr samples for recently errored processes
- PM2 daemon version and an API-reachable indicator
- Auto-refresh every 10s, pull-to-refresh, and manual refresh
- Clear offline, authentication-failed, and empty states with Retry / Edit shortcuts
Processes
- Search by name, script, or PID; quick-filter chips (All / Online / Errored / Stopped / Cluster)
- Filter & Sort tray: status and exec-mode filters, High CPU / High memory / With restarts / Unstable presets, and sort by status, CPU, memory, name, uptime, or restarts
- Per-process CPU and memory bars, uptime, restart counts (with unstable-restart warnings), and script path
- Rich detail screen: live resources, runtime (Node version, exec mode, instances, interpreter, namespace), behavior (watch, autorestart), custom metrics, and tap-to-copy paths
- Long-press quick actions from any card
Logs
- Historical snapshots (100 / 200 / 500 / 1000 lines) grouped into stdout and stderr
- Real-time live tail over SSE with auto-follow, pause/resume, and clear
- All / Stdout / Stderr filtering
- Dark, monospaced terminal viewer with timestamped live lines
- Copy to clipboard or share via the native share sheet
- One-tap "Retry now" panel when the live stream disconnects
Control
- Restart, zero-downtime Reload, Stop, Flush logs, and Reset counters
- Scale instances with a dedicated +/– stepper
- Send Unix signals (SIGHUP, SIGINT, SIGQUIT, SIGTERM, SIGUSR1, SIGUSR2, SIGKILL) with plain-language descriptions
- Dump and Resurrect the saved process list (daemon-wide)
- Type-to-confirm Delete for destructive actions
- Every action shows a pre-action snapshot, the exact REST endpoint, and a live re-fetch of the result
- The pm2‑forwarder process itself is protected, so you can't act on it by mistake
Connections & Security
- Save multiple servers and switch between them instantly
- Three auth modes: None, Bearer token, or Basic (username + password)
- Live health dots probe every saved connection independently
- Inline "Test Connection" validation before you save
- Connection detail with service info, on-demand health checks, and copyable base URL
- Credentials are stored on-device only
- Auth headers are injected automatically on every request and log stream
Native & polished
- iOS large-title headers and a native tab bar with Liquid Glass on iOS 26
- Offline-friendly: previously loaded data is cached and available on relaunch
- Screen stays awake during live monitoring and log tailing
Accurate by design: metrics reflect exactly what the PM2 API exposes, so what you see is what your daemon actually reports.
PM2 Server Stats