进程管理
概述
使用PM2
,您可以在后台很容易的启动/重启/重新加载/停止/列出应用程序。
启动
启动应用程序:
$ pm2 start api.js
您还可以启动其他类型的应用程序,如 bash
命令、脚本、二进制文件:
$ pm2 start "npm run start"
$ pm2 start "ls -la"
$ pm2 start app.py
启动并查看日志
要启动应用程序并查看日志,请使用以下--attach
选项:
$ pm2 start api.js --attach
通过 Ctrl-C
退出时,应用程序仍将在后台运行。
传参
在--
之后传递的所有选项都将作为参数传递给应用程序:
$ pm2 start api.js -- arg1 arg2
注意
通过--
传递的参数在 powershell 终端下无效,需要在 cmd 终端下才行。
配置文件
当同时管理多个应用程序或必须指定多个选项时,您可以使用配置文件。此 ecosystem.config.js
文件的示例:
module.exports = {
apps : [{
name : "limit worker",
script : "./worker.js",
args : "limit"
},{
name : "rotate worker",
script : "./worker.js",
args : "rotate"
}]
}
启动配置文件执行应用程序:
$ pm2 start ecosystem.config.js
在此处阅读有关配置文件的更多信息。
重启
重新启动应用程序:
$ pm2 restart api
重新启动所有应用程序:
$ pm2 restart all
重新启动多个应用程序:
$ pm2 restart app1 app3 app4
更新环境变量和选项
要更新环境变量或 PM2
选项,请指定--update-envCLI
选项:
$ NODE_ENV=production pm2 restart web-interface --update-env
停止
停止指定的应用程序:
$ pm2 stop api
$ pm2 stop [process_id]
停止所有:
$ pm2 stop all
停止多个应用程序:
$ pm2 stop app1 app3 app4
注意
这不会从 PM2
应用程序列表中删除该应用程序。
删除
删除应用程序:
$ pm2 delete api
删除全部:
$ pm2 delete all
列出应用程序
列出所有正在运行的应用程序:
$ pm2 list
# Or
$ pm2 [list|ls|l|status]
按顺序列出:
$ pm2 list --sort name:desc
# Or
$ pm2 list --sort [name|id|pid|memory|cpu|status|uptime][:asc|desc]
监控面板
PM2
为您提供了一种监控应用程序资源使用情况的简单方法。您可以通过终端轻松直接地监控内存和CPU:
$ pm2 monit
查看应用程序数据
查看应用程序数据:
$ pm2 show [id|name]
重置进程计数器
重置进程计数器:
$ pm2 reset all