# pm2常用命令
# Fork mode
pm2 start app.js --name my-api # 命令进程
# Cluster mode
pm2 start app.js -i 0 # 根据当前系统cpu核心数量,来启动进程数量
pm2 start app.js -i max # 同上,已过时
pm2 scale app +3 # 加多3个进程
pm2 scale app 2 # 变更进程数量到2
# Listing
pm2 list # 显示所有进程状态
pm2 jlist # 以 JSON 格式显示所有进程状态
pm2 prettylist # 以美化后的 JSON 显示所有进程状态
pm2 describe 0 # 显示特定进程的信息
pm2 monit # 监视所有进程
# Logs
pm2 logs [--raw] # 显示日志
pm2 flush # 清空所有日志
pm2 reloadLogs # 重新载入所有日志
# Actions
pm2 stop all # 停止所有进程
pm2 restart all # 重新启动所有进程
pm2 reload all # 重新加载所有
pm2 stop 0 # 停止指定id的进程(id)
pm2 restart 0 # 重起指定id的进程
pm2 delete 0 # 从pm2列表中删除进程
pm2 delete all # 删除pm2列表中的所有进程
# Misc
pm2 reset <process> # 重置元数据
pm2 updatePM2 # 更新内存中的pm2
pm2 ping # 确保pm2守护进程已启动
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 app.js --watch
pm2 stop 0 # 不会停止监听
pm2 stop 0 --watch # 会停止监听
# ecosystem
pm2 [start|restart|stop|delete] ecosystem.config.js
# 如果修改了ignore_watch,重启时需要先关闭再启动:
pm2 stop ecosystem.config.js --watch
pm2 start ecosystem.config.js ——watch
# 开机自启动
pm2 startup # 在/etc/init.d/目录下生成pm2-root的启动脚本,且自动将pm2-root设为服务
pm2 save # 将当前pm2所运行的应用保存在/root/.pm2/dump.pm2下,当开机重启时,pm2-root服务脚本会到/root/.pm2/dump.pm2下读取应用并启动