Node应用进程管理器-PM2基础教程
PM2是守护进程管理器,可帮助您管理应用程序并保持永久在线状态
快速入门
$ npm install pm2@latest -g
# or
$ yarn global add pm2
启动
启动、守护和监视应用程序的最简单的方法是使用此命令行:
$ pm2 start app.js
启动NPM script
$ pm2 start npm -- run start # 注意 -- 后面有个空格,yarn测试启动失败
或者轻松启动任何其他应用程序
$ pm2 start bashscript.sh
$ pm2 start python-app.py --watch
$ pm2 start binary-file -- --port 1520
管理进程
$ pm2 restart app_name
$ pm2 reload app_name
$ pm2 stop app_name
$ pm2 delete app_name
并不是只可以使用:app_name
all
在所有流程中采取行动
id
对特定进程 ID 采取行动
比如
$ pm2 restart all 重启所有
$ pm2 restart 0 重启ID为0
列出后台应用程序
$ pm2 [list|ls|status]
更多命令
# Fork mode
pm2 start app.js --name my-api # Name process
# Cluster mode
pm2 start app.js -i 0 # Will start maximum processes with LB depending on available CPUs
pm2 start app.js -i max # Same as above, but deprecated.
pm2 scale app +3 # Scales `app` up by 3 workers
pm2 scale app 2 # Scales `app` up or down to 2 workers total
# Listing
pm2 list # Display all processes status
pm2 jlist # Print process list in raw JSON
pm2 prettylist # Print process list in beautified JSON
pm2 describe 0 # Display all informations about a specific process
pm2 monit # Monitor all processes
# Logs
pm2 logs [--raw] # Display all processes logs in streaming
pm2 flush # Empty all log files
pm2 reloadLogs # Reload all logs
# Actions
pm2 stop all # Stop all processes
pm2 restart all # Restart all processes
pm2 reload all # Will 0s downtime reload (for NETWORKED apps)
pm2 stop 0 # Stop specific process id
pm2 restart 0 # Restart specific process id
pm2 delete 0 # Will remove process from pm2 list
pm2 delete all # Will remove all processes from pm2 list
# Misc
pm2 reset <process> # Reset meta data (restarted time...)
pm2 updatePM2 # Update in memory pm2
pm2 ping # Ensure pm2 daemon has been launched
pm2 sendSignal SIGUSR2 my-app # Send system signal to script
pm2 start app.js --no-daemon
pm2 start app.js --no-vizion
pm2 start app.js --no-autorestart