命令行参数

命令

命令
描述

start [options] [name|namespace|file|ecosystem|id...]

启动并守护应用程序

trigger <id|proc_name|namespace|all> <action_name> [params]

触发进程操作

deploy <file|environment>

部署JSON

startOrRestart <json>

启动或重新启动 JSON 文件

startOrReload <json>

启动或优雅地重新加载 JSON 文件

pid [app_name]

返回 [app_name] 或全部进程的进程

create

返回 [app_name] 或全部进程的进程

startOrGracefulReload <json>

启动或优雅地重新加载 JSON 文件

stop [options] <id|name|namespace|all|json|stdin...>

停止进程

restart [options] <id|name|namespace|all|json|stdin...>

重启进程

scale <app_name> <number>

根据 total_number 参数,在集群模式下调整进程的规模(扩容/缩容)。

profile:mem [time]

对 PM2 进行堆内存采样

profile:cpu [time]

对 PM2 进行 CPU 分析

reload <id|name|namespace|all>

重新加载进程(注意,适用于使用 HTTP/HTTPS 的应用程序)

id <name>

通过名称获取进程 ID

inspect <name>

检查进程

delete|del <name|id|namespace|script|all|json|stdin...>

停止并从 PM2 进程列表中删除一个进程

sendSignal <signal> <pm2_id|name>

向目标进程发送系统信号

ping

Ping PM2 守护进程 - 如果未启动,将启动

updatePM2

使用本地的 PM2 更新内存中的 PM2

update

(别名)使用本地的 PM2 更新内存中的 PM2

install|module:install [options] <module|git:/>

安装或更新一个模块并永久运行它

module:update <module|git:/>

更新一个模块并永久运行它

module:generate [app_name]

在当前文件夹中生成一个示例模块

uninstall|module:uninstall <module>

停止并卸载一个模块

package [target]

检查并打包 TAR 类型的模块

publish|module:publish [options] [folder]

发布当前模块

set [key] [value]

设置指定配置项 <key> 的值为 <value>

multiset <value>

多键值设置,例如 "key1 val1 key2 val2

get [key]

获取 <key>

conf [key] [value]

获取/设置模块配置值

config <key> [value]

获取/设置模块配置值

unset <key>

清除指定的配置项 <key>

report

提供关于 https://github.com/Unitech/pm2/issues 的完整 PM2 报告

link [options] [secret] [public] [name]

与 PM2 监控面板建立关联

unlink

与 PM2 监控面板解除关联

monitor [name]

监控目标进程

unmonitor [name]

取消监控目标进程

open

打开 PM2 监控面板

plus|register [options] [command] [option]

启用 PM2 Plus

login

登录 PM2 Plus

logout

登出 PM2 Plus

dump|save [options]

转储所有进程,以便稍后恢复它们

cleardump

创建空的转储文件

send <pm_id> <line>

发送标准输入到 <pm_id>

attach <pm_id> [comman]

将标准输入/输出附加到由 <pm_id> 标识的应用程序

resurrect

恢复先前转储的进程

unstartup [platform]

禁用 PM2 启动钩子

startup [platform]

启用 PM2 启动钩子

logrotate

复制默认的 logrotate 配置

ecosystem|init [mode]

生成进程配置文件(模式为 null 或 simple)

reset <name|id|all>

重置进程的计数器

describe <name|id>

描述进程的所有参数

desc <name|id>

(别名)描述进程的所有参数

info <name|id>

(别名)描述进程的所有参数

show <name|id>

(别名)描述进程的所有参数

env <id>

列出指定进程 ID 的所有环境变量

list|ls

列出所有进程

l

(别名)列出所有进程

ps

(别名)列出所有进程

status

(别名)列出所有进程

jlist

以 JSON 格式列出所有进程

sysmonit

启动系统监控守护进程

slist|sysinfos [options]

以 JSON 格式列出系统信息

prettylist

以漂亮的格式打印 JSON

monit

启动 termcaps 监控

imonit

启动传统的 termcaps 监控

dashboard|dash

启动带有监控和日志功能的面板

flush [api]

冲洗(删除)日志

reloadLogs

重新加载所有日志

logs [options] [id|name|namespace]

流式传输日志文件。默认情况下,流式传输所有日志

kill

杀死守护进程

pull <name> [commit_id]

更新应用程序的代码仓库

forward <name>

更新应用程序的代码仓库到下一个提交

backward <name>

将应用程序的代码仓库降级到前一个提交

deepUpdate

对 PM2 进行深度更新

serve|expose [options] [path] [port]

通过指定的端口以 HTTP 方式提供一个目录

autoinstall

examples

显示 PM2 的用法示例

选项

选项
描述

-V--version

输出版本号

-v --version

打印 PM2 版本

-s --silent

隐藏所有消息

--ext <extensions>

监视文件扩展名

-n --name <name>

在进程列表中为进程设置一个名称

-m --mini-list

显示一个未格式化的紧凑列表

--interpreter <interpreter>

设置一个特定的解释器用于执行应用程序, 默认值:node

--interpreter-args <arguments>

设置传递给解释器的参数(--node-args 的别名)

--node-args <node_args>

传递给 Node 的空格分隔参数

-o --output <path>

指定标准输出的日志文件

-e --error <path>

指定标准错误输出的日志文件

-l --log [path]

指定一个日志文件,用于收集标准输出和标准错误输出

--filter-env [envs]

过滤掉包含所提供字符串的全局出局值(默认值:空)

--log-type <type>

指定日志输出样式(默认为原始格式,可选为 JSON)

--log-date-format <date format>

在日志中添加自定义前缀时间戳

--time

启用时间记录

--disable-logs

禁用所有日志存储

--env <environment_name>

指定从 ecosystem file 中注入的环境变量

-a --update-env

通过 restart/reload 强制更新环境变量 (-a <=> apply)

-f --force

强制执行操作

-i --instances <number>

启动 [number]个实例(用于网络应用程序)(负载均衡)

--parallel <number>

并行操作的数量 (用于 restart/reload)

--shutdown-with-message

使用 process.send('shutdown') 代替 process.kill(pid, SIGINT) 关闭应用程序

-p --pid <pid>

指定进程ID(PID)文件

-k --kill-timeout <delay>

在发送最后的 SIGKILL 信号给进程之前的延迟

--listen-timeout <delay>

应用程序重新加载的监听超时时间

--max-memory-restart <memory>

如果超过一定内存量(以字节为单位),则重新启动应用程序

--restart-delay <delay>

指定重启之间的延迟时间(以毫秒为单位)

--exp-backoff-restart-delay <delay>

指定重启之间的延迟时间(以毫秒为单位)

-x --execute-command

使用 fork 系统执行一个程序

--max-restarts [count]

只重新启动脚本 COUNT 次

-u --user <username>

在生成启动脚本时定义用户

--uid <uid>

<uid> 的权限运行目标脚本

--gid <gid>

<gid> 权限运行目标脚本

--namespace <ns>

在指定的命名空间内启动应用程序

--cwd <path>

从路径 <cwd> 运行目标脚本

--hp <home path>

在生成启动脚本时定义主目录路径

--wait-ip

覆盖 systemd 脚本以等待互联网连接后再启动 PM2

--service-name <name>

在生成启动脚本时定义服务名称

-c --cron <cron_pattern>

通过 cron 模式重新启动正在运行的进程

-c --cron-restart <cron_pattern>

(别名) 通过 cron 模式重新启动正在运行的进程

-w --write

将配置写入本地文件夹

--no-daemon

如果不存在,将 PM2 守护进程在前台运行

--source-map-support

强制源映射支持

--only <application-name>

通过 JSON 声明,允许仅对一个应用程序进行操作

--disable-source-map-support

禁用强制源映射支持

--wait-ready

请求 PM2 等待应用程序发送就绪事件

--merge-logs

合并来自不同实例的日志,但保持错误和输出分开

--watch [paths]

--ignore-watch <folders\|files>

要忽略的路径列表(名称或正则表达式)

--watch-delay <delay>

在更改文件后指定重新启动的延迟时间(--watch-delay 4(以秒为单位)或 4000 毫秒)

--no-color

跳过颜色

--no-vizion

启动一个不带版本控制功能(vizion)的应用程序

--no-autorestart

启动一个不带自动重启功能的应用程序

--no-treekill

只杀死主进程,不杀死分离的子进程

--no-pmx

启动一个没有 PMX 的应用程序

--no-automation

启动一个没有 PMX 的应用程序

--trace

启用使用 KM 进行事务跟踪

--disable-trace

禁用使用 KM 进行事务跟踪

--sort <field_name:sort>

按字段名称对进程进行排序

--attach

在 start/restart/stop/reload 后附加日志记录

--v8

启用 V8 数据收集

--event-loop-inspector

在 PMX 中启用事件循环检测器转储

--deep-monitoring

启用所有监控工具(相当于 --v8 --event-loop-inspector --trace

-h, --help

输出帮助信息

最后更新于

这有帮助吗?