██████╗ ██████╗ ███╗ ███╗ ╚════██╗██╔══██╗████╗ ████║ █████╔╝██████╔╝██╔████╔██║ ╚═══██╗██╔═══╝ ██║╚██╔╝██║ ██████╔╝██║ ██║ ╚═╝ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚═╝
A fast, robust process manager, written in Rust.
Keeps your apps alive, restarts them when they crash, aggregates their logs, and tracks the CPU and memory of their whole process tree, with the pm2 workflow you already know.
latestInstall
$ curl -fsSL https://3pm.edgecr4ft.net/install.sh | sh
macOS and Linux, x86_64 and arm64. Run it again to update: a running daemon is handed off to the new binary in place, your apps keep running.
Quick start
$ 3pm start app.js # node, python, ruby, bash… inferred from the extension $ 3pm start app.js -i 4 # 4 instances $ 3pm ls # the process table $ 3pm logs app # tail the logs $ 3pm save && 3pm startup # bring the apps back after a reboot $ 3pm update # new daemon, zero downtime
Why 3pm
One binaryCLI and daemon in one executable, no runtime to install. The first command starts the daemon.
Zero-downtime updateThe daemon re-executes itself in place: same pids, same pipes, no lost log line.
pm2 compatibleSame commands, and your
ecosystem.config.js works as is.Metrics built inProcess trees, host metrics, and app metrics through
@3pm/api.Downloads
- latest/VERSIONthe version install.sh picks
Node.js SDK
$ npm install @3pm/api