pm2
Node.js/Bun Production Process Manager with a built-in Load Balancer.
PM2 keeps Node processes alive and reloads them cleanly
A production process manager for Node.js and Bun with a built in load balancer, promising to keep applications alive and reload them without downtime.
The job it does
PM2 is a Node.js and Bun production process manager with a built in load balancer. The README says it keeps applications alive forever, reloads them without downtime, and facilitates common system admin tasks. JavaScript is recorded as the primary language, and the homepage points to PM2 documentation. It is also one of the older process managers in Node.js, which gives it a long track record.
Running alongside Bun
The README covers the Bun angle specifically. If only Bun is installed without Node.js, it suggests symlinking node to bun so the shebang resolves to the Bun node compatibility runtime. It also notes Node.js can be installed with NVM or FNM, or Bun can be installed with a curl command. Handling both runtimes in one section shows that PM2 is not ignoring the newer runtime.
What you can start
Any application can be started, including Node.js, Bun, Python, Ruby, and binaries on the path. The process manager handles running and supervising these applications. A separate section covers startup scripts generation for creating system startup scripts in production environments. The point is that PM2 does not care much what your app is built with, as long as it runs as a process.
Cluster mode and the load balancer
Cluster mode starts multiple Node.js processes and load balances HTTP, TCP, and UDP queries between them. The README claims this increases throughput on multi core machines and improves reliability with faster socket rebalancing in case of unhandled errors. For anyone running Node on a machine with several cores, that is the feature that justifies installing a process manager at all.
Containers and boot
A runtime command is provided for container support, which matters now that so many Node apps deploy as images. The startup scripts generation section returns as well, covering how to get applications running at boot. Between cluster mode, container support, and startup scripts, PM2 covers the common production concerns of keeping something running and making sure it comes back after a restart.
Community notes