进程管理

管理应用程序状态

使用 PM2,您可以轻松地在后台启动/重启/重新加载/停止/列出应用程序。

启动

要启动应用程序

$ pm2 start api.js

image

您还可以启动任何类型的应用程序,例如 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

配置文件

当同时管理多个应用程序或必须指定多个选项时,可以使用配置文件。例如,使用以下 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-env CLI 选项

$ 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]

image

要指定应用程序的列出顺序

$ pm2 list --sort name:desc
# Or
$ pm2 list --sort [name|id|pid|memory|cpu|status|uptime][:asc|desc]

终端仪表板

PM2 为您提供了一种监控应用程序资源使用情况的简单方法。您可以使用以下命令轻松地直接从终端监控内存和 CPU

pm2 monit

显示应用程序元数据

要显示有关应用程序的元数据

$ pm2 show api

drawing

重置重启计数

要重置重启计数器

$ pm2 reset all
为此页面做出贡献