# 升级PM2
$ npm install pm2@latest -g
$ pm2 update
# 普通
$ npm install pm2 -g # 安装 PM2
$ pm2 start app.js # 启动,守护进程和自动重启应用程序(Node)
$ pm2 start app.py # 启动,守护程序和自动重启应用程序(Python)
$ pm2 start npm -- start # 启动,守护程序和自动重启节点应用程序
# 群集模式(仅限Node.js)
$ pm2 start app.js -i 4 # 在群集模式下启动4个应用程序实例
# 它将负载平衡每个应用程序的网络查询
$ pm2 reload all # 零秒停机重启
$ pm2 scale [app-name] 10 # 规模集群应用到10个进程
# 进程监控
$ pm2 list # 列出PM2所有流程
$ pm2 monit # 显示每个应用程序的内存和cpu使用情况
$ pm2 show [app-name] # 显示相关应用程序的所有信息
# 日志管理
$ pm2 logs # 显示所有应用程序的日志
$ pm2 logs [app-name] # 显示特定应用程序的日志
$ pm2 logs --json # 日志JSON格式化
$ pm2 flush
$ pm2 reloadLogs
# 进程状况管理
$ pm2 start app.js --name="api" # 启动应用程序并将其命名为“api”
$ pm2 start app.js -- -a 34 # 开始应用并传递选项“-a 34”作为参数
$ pm2 start app.js --watch # 重新启动文件更改应用程序
$ pm2 start script.sh # 启动bash脚本
$ pm2 start app.json # 启动在app.json中声明的所有应用程序
$ pm2 reset [app-name] # 重置所有计数器
$ pm2 stop all # 停止所有应用程序
$ pm2 stop 0 # 停止进程id为0的应用程序
$ pm2 restart all # 重启所有应用程序
$ pm2 gracefulReload all # 以群集模式正常重新加载所有应用程序
$ pm2 delete all # 杀死并删除所有应用程序
$ pm2 delete 0 # 删除进程id为0的应用程序
# 启动/引导管理
$ pm2 startup # 检测init系统,在启动时生成并配置pm2引导
$ pm2 save # 保存当前进程列表
$ pm2 resurrect # 恢复以前保存的进程
$ pm2 unstartup # 禁用并删除启动系统
$ pm2 update # 保存进程,杀死PM2并恢复进程
$ pm2 generate # 生成一个示例json配置文件
# 部署
$ pm2 deploy app.json prod setup # 设置“prod”远程服务器
$ pm2 deploy app.json prod # 更新“prod”远程服务器
$ pm2 deploy app.json prod revert 2 # 将“prod”远程服务器恢复为2
# 模块系统
$ pm2 module:generate [name] # 生成名为[name]的示例模块
$ pm2 install pm2-logrotate # 安装模块(这里是一个日志轮换系统)
$ pm2 uninstall pm2-logrotate # 卸载模块
$ pm2 publish # 增量版本,git推送和npm发布
参见:https://github.com/Unitech/PM2/
2017年8月15日 重庆-传说