常用命令整理
1. 啓動
pm2 start app.js # 啓動app.js應用程序
pm2 start app.js --name my-api #my-api爲PM2進程名稱
pm2 start app.js -i 4 #根據CPU核數啓動進程個數。# cluster mode 模式啓動4個app.js的應用實例 # 4個應用程序會自動進行負載均衡
pm2 start app.js --watch #實時監控app.js的方式啓動,當app.js文件有變動時,pm2會自動reload
2. 查看進程、監控
#-------查看--------
pm2 list # 列表 PM2 啓動的所有的應用程序
pm2 show [app-name] # 顯示應用程序的所有信息
pm2 show 0 #或者下面
pm2 info 0 #查看進程詳細信息,0爲PM2進程id
#------監控---------
pm2 monit # 顯示每個應用程序的CPU和內存佔用情況
3.停止、刪除
#------停止---------
pm2 stop all #停止PM2列表中所有的進程
pm2 stop 0 #停止PM2列表中進程爲0的進程
#------刪除---------
pm2 delete all #刪除PM2列表中所有的進程
pm2 delete 0 #刪除PM2列表中進程爲0的進程
4. 重載、重啓
#------重載-------
pm2 reload all #重載PM2列表中cluster mode下所有的進程
pm2 reload 0 #重載PM2列表中進程爲0的進程
#------重啓---------
pm2 restart all #重啓PM2列表中所有的進程
pm2 restart 0 #重啓PM2列表中進程爲0的進程
#------重置重啓------
pm2 gracefulReload all # Graceful reload all apps in cluster mode
pm2 reset [app-name] # 重置重啓數量
5. 系統命令
pm2 startup # 創建開機自啓動命令
pm2 save # 保存當前應用列表
pm2 resurrect # 重新加載保存的應用列表
pm2 update # Save processes, kill PM2 and restore processes
pm2 generate # Generate a sample json configuration file
6.遠程操作
pm2 deploy app.json prod setup # Setup "prod" remote server
pm2 deploy app.json prod # Update "prod" remote server
pm2 deploy app.json prod revert 2 # Revert "prod" remote server by 2
7. 日誌操作
pm2 logs # 顯示所有應用程序的日誌
pm2 logs [app-name] # 顯示指定應用程序的日誌
pm2 logs [--raw] #Display all processes logs in streaming
pm2 flush #Empty all log file
pm2 reloadLogs #Reload all logs
8. 安裝、升級、卸載
npm install pm2@lastest -g #安裝最新的PM2版本
pm2 updatePM2 #升級pm2
pm2 module:generate [name] # Generate sample module with name [name]
pm2 install pm2-logrotate # Install module (here a log rotation system)
pm2 uninstall pm2-logrotate # Uninstall module
pm2 publish # Increment version, git push and npm publish
9.其他命令
pm2 start script.sh # 啓動 bash 腳本
pm2 scale api 10 # 把名字叫api的應用擴展到10個實例
pm2 reset [app-name] # 重置重啓數量
10. 更多命令
pm2 --help
參考文檔
1.pm2官方文檔:http://pm2.keymetrics.io/docs/usage/cluster-mode/
2.pm2進程管理工具使用總結:http://blog.51cto.com/7490142/1858720