pm2监控守护工具的使用

1 分钟读完

官网

http://pm2.keymetrics.io/

安装

  sudo yarn global add pm2

启动一个node

  pm2 start npm --name first_node -- run dev
  • name 参数指定进程名称,自己定义

  • 减减后面跟上运行的命令

启动后显示一个进程列表

pm2 start npm --name xuqiu2  -- run dev
[PM2] Starting /usr/bin/npm in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬──────┬───────┬────────┬─────────┬────────┬─────┬───────────┬──────────┬──────────┐
│ App name │ id │ mode │ pid   │ status │ restart │ uptime │ cpu │ mem       │ user     │ watching │
├──────────┼────┼──────┼───────┼────────┼─────────┼────────┼─────┼───────────┼──────────┼──────────┤
│ xuqiu2   │ 0  │ fork │ 18156 │ online │ 0       │ 0s     │ 0%  │ 16.2 MB   │ darkwind │ disabled │
└──────────┴────┴──────┴───────┴────────┴─────────┴────────┴─────┴───────────┴──────────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

停止一个进程

  pm2 stop xuqiu2
darkwind@darkwind-PC:~/.pm2/logs$ pm2 stop xuqiu2
[PM2] Applying action stopProcessId on app [xuqiu2](ids: 0)
[PM2] [xuqiu2](0) ✓
┌──────────┬────┬──────┬─────┬─────────┬─────────┬────────┬─────┬────────┬──────────┬──────────┐
│ App name │ id │ mode │ pid │ status  │ restart │ uptime │ cpu │ mem    │ user     │ watching │
├──────────┼────┼──────┼─────┼─────────┼─────────┼────────┼─────┼────────┼──────────┼──────────┤
│ xuqiu2   │ 0  │ fork │ 0   │ stopped │ 15      │ 0      │ 0%  │ 0 B    │ darkwind │ disabled │
└──────────┴────┴──────┴─────┴─────────┴─────────┴────────┴─────┴────────┴──────────┴──────────┘
 Use `pm2 show <id|name>` to get more details about an app

从列表中删除一个app

注意 重启demon(守护)服务后会清空列表,需要保存

没有重启的情况下app一直在列表中

  pm2 delete xuqiu2

保存列表

  pm2 save

查看、监控进程

  pm2 monit

开机启动进程

  pm2 start xxx

命令全解

以下是一些常用的命令,作为备忘=

$ pm2 start app.js # 启动app.js应用程序
$ pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例
# 4个应用程序会自动进行负载均衡
$ pm2 start app.js –name=”api” # 启动应用程序并命名为 “api”
$ pm2 start app.js –watch # 当文件变化时自动重启应用
$ pm2 start script.sh # 启动 bash 脚本

$ pm2 list # 列表 PM2 启动的所有的应用程序
$ pm2 monit # 显示每个应用程序的CPU和内存占用情况
$ pm2 show [app-name] # 显示应用程序的所有信息

$ pm2 logs # 显示所有应用程序的日志
$ pm2 logs [app-name] # 显示指定应用程序的日志
pm2 flush

$ pm2 stop all # 停止所有的应用程序
$ pm2 stop 0 # 停止 id为 0的指定应用程序
$ pm2 restart all # 重启所有应用
$ pm2 reload all # 重启 cluster mode下的所有应用
$ pm2 gracefulReload all # Graceful reload all apps in cluster mode
$ pm2 delete all # 关闭并删除所有应用
$ pm2 delete 0 # 删除指定应用 id 0
$ pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
$ pm2 reset [app-name] # 重置重启数量

$ pm2 startup # 创建开机自启动命令
$ pm2 save # 保存当前应用列表
$ pm2 resurrect # 重新加载保存的应用列表
$ pm2 update # Save processes, kill PM2 and restore processes
$ pm2 generate # Generate a sample json configuration file
$pm2 start app.js –node-args=”–max-old-space-size=1024″

标签:

分类:

更新时间:

留下评论

您的电子邮箱地址并不会被展示。请填写标记为必须的字段。 *

正在加载...