pm2 start app.js --name my-api
# Start maximum processes with LB depending on available CPUs
pm2 start app.js -i 0
# Scales app up by 3 workers
pm2 scale app +3
# Scales app up or down to 2 workers total
pm2 scale app 2
# Display all processes status pm2 jlist # Print process list in raw JSON pm2 prettylist # Print process list in beautified JSON
pm2 list
# Display all informations about a specific process
pm2 describe 0
# Monitor all processes
pm2 monit
# Display all processes logs in streaming
pm2 logs [--raw]
# Empty all log files pm2 reloadLogs # Reload all logs
pm2 flush
# Stop all processes pm2 restart all # Restart all processes
pm2 stop all
# Will 0s downtime reload (for NETWORKED apps)
pm2 reload all
# Stop specific process id pm2 restart 0 # Restart specific process id
pm2 stop 0
# Will remove process from pm2 list
pm2 delete 0
# Will remove all processes from pm2 list
pm2 delete all
# Reset meta data (restarted time...)
pm2 reset
# Update in memory pm2
pm2 updatePM2
# Ensure pm2 daemon has been launched
pm2 ping
# Send system signal to script
pm2 sendSignal SIGUSR2 my-app
pm2 start app.js --no-daemon
pm2 start app.js --no-vizion
pm2 start app.js --no-autorestart
pm2 start [echo.py](http://echo.py/)
pm2 start "pipenv run python -m scripts.script1"
pm2 start test.bash --interpreter bash