finds.dev← search

// the find

Unitech/pm2

★ 43,227 · JavaScript · NOASSERTION · updated Jul 2026

Node.js/Bun Production Process Manager with a built-in Load Balancer.

PM2 is the de-facto process manager for Node.js on bare metal and VMs — it keeps processes alive, forks them across CPU cores for load balancing, and generates startup scripts for most init systems. It's for teams running Node apps directly on Linux servers rather than in container orchestrators.

Cluster mode with zero-downtime reload (`pm2 reload`) is genuinely useful and works without any app-level changes. Startup script generation covers systemd, launchd, upstart, and more — `pm2 startup && pm2 save` is two commands to survive reboots. The ecosystem config file is flexible enough to manage multi-app deployments with environment-specific overrides. Bun support was added and is maintained, not just a checkbox.

AGPL 3.0 license is a real gotcha — if you build a SaaS product, you're either open-sourcing your app or buying a commercial license from Keymetrics. The advanced monitoring and alerting features are paywalled behind PM2+ (their cloud dashboard), which creates pressure to pay once you outgrow the local `pm2 monit`. In 2026, PM2 competes badly against Kubernetes or even Docker Compose for anything beyond a single server — the daemon-per-server model doesn't compose. Some of the IPC communication is still built on vendored/forked modules (`pm2-axon`) that predate modern Node.js streams and have seen minimal updates.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →