# pm2

pm2 进程管理工具

# 常用命令

1 全局安装pm2
npm install -g pm2
2 进入项目根目录
  2.1 启动进程/应用 pm2 start bin/www 或 pm2 start app.js
  2.2 重命名进程/应用 pm2 start app.js --name wb123
  2.3 添加进程/应用 pm2 start bin/www --watch
  2.4 结束进程/应用 pm2 stop www
  2.5 结束所有进程/应用 pm2 stop all
  2.6 删除进程/应用 pm2 delete www
  2.7 删除所有进程/应用 pm2 delete all
  2.8 列出所有进程/应用 pm2 list
  2.9 查看某个进程/应用的具体情况 pm2 describe www
  2.10 查看进程/应用的资源消耗情况 pm2 monit
  2.11 查看pm2的日志 pm2 logs
  2.12 若要查看某个进程/应用的日志 pm2 logs www
  2.13 重启进程/应用 pm2 restart www
  2.14 重新启动所有进程/应用 pm2 restart all

# pm2.json

npm 包 --save【上线需要的依赖包】 dependencies --save-dev 【上线不需要的依赖包】 devDependenciess npm install --production 只下载上线需要的依赖包 生产环境依赖

pm2 start pm2.json
pm2 stop all

`{
  "name": "Mobilemap node service",
  "script": "app.js",
  "log_date_format":"YYYY-MM-DD HH:mm Z",
  "error_file": "/data/logs/mobilemap-node-seriver-stderr-error.log",
  "out_file": "/data/logs/mobilemap-node-seriver-stdout-access.log",
  "watch": true,
  "instances": "max", // 让node代码占满cpu
  "exec_mode": "cluster",  //以主线程的形式运行
}`

# shelljs

npm i shelljs --save-dev
node deploy.js  // 运行
// deploy.js  shell命令都可以执行
var shell = require("shelljs");
shell.exec("npm install --production");
shell.exec("pm2 start pm2.json");