PM2 Node process manager
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
pm2 start <file>
pm2 listpm2 logspm2 restart <name>
pm2 stop <name>
pm2 delete <name>
pm2 monitpm2 saveConcepts
- pm2 CLI your commands
- PM2 daemon keeps apps alive
- Your apps fork or cluster
- Log files ~/.pm2/logs
Start and run
pm2 start <file>
pm2 start <file> --name <name>
pm2 start <file> -- <args>
pm2 start <file> --watch
pm2 start <file> --watch --ignore-watch
"node_modules"
pm2 start <file> --max-memory-restart
<size>
pm2 start <file> --interpreter <bin>
pm2 start <file> --cron-restart
"<cron>"
pm2 start <file> --no-autorestart
pm2 start <file> --restart-delay <ms>
pm2 start <file> --exp-backoff-restart-delay
<ms>
pm2 start <file> --max-restarts <n>
pm2 start <file> --time
pm2 serve <path> <port>
Inspect and logs
pm2 listpm2 logspm2 logs <name>
pm2 monitpm2 logs --lines <n>
pm2 logs --errpm2 logs --nostream
pm2 describe <name>
pm2 flushpm2 logs --timestamp
pm2 jlistpm2 env <id>
pm2 id <name>
pm2 reloadLogsControl
pm2 restart <name>
pm2 stop <name>
pm2 delete <name>
pm2 reload <name>
pm2 restart allpm2 stop allpm2 delete allpm2 restart <name> --update-env
pm2 reset <name>
pm2 sendSignal <signal> <name>
Cluster mode
pm2 start <file> -i max
pm2 start <file> -i <n>
pm2 scale <name> <n>
pm2 scale <name> +<n>
pm2 start <file> --wait-ready
pm2 start <file> --kill-timeout <ms>
| Command | Behaviour |
|---|---|
pm2 restart |
hard stop, then start |
pm2 reload |
one instance at a time, cluster only |
Ecosystem file
pm2 ecosystempm2 start ecosystem.config.js
pm2 start ecosystem.config.js --env <name>
pm2 start ecosystem.config.js --only <app>
pm2 startOrRestart ecosystem.config.js
pm2 startOrReload ecosystem.config.js
| Key | Flag |
|---|---|
name |
--name |
instances |
-i |
watch |
--watch |
max_memory_restart |
--max-memory-restart |
cron_restart |
--cron-restart |
env_<name> |
--env <name> |
module.exports = { apps: [{ name: "api", script: "./server.js", instances: "max", max_memory_restart: "300M", env: { NODE_ENV: "development" }, env_production: { NODE_ENV: "production" } }]};
Boot and upkeep
pm2 startuppm2 savepm2 resurrectpm2 updatepm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size <size>
pm2 unstartuppm2 killRecipes
pm2 start ecosystem.config.js --env productionpm2 savepm2 startup# run the sudo command it prints
git pull && npm cipm2 reload <name> --update-envpm2 logs <name> --lines 50
pm2 start server.js --name api -i max \ --max-memory-restart 300Mpm2 scale api 2pm2 monit
pm2 listpm2 describe <name>pm2 logs <name> --err --lines 100pm2 reset <name>



