Skip to main content

进程管理

概述

使用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