CLI
pm2 Flags
| Flag名称 | 描述 |
|---|---|
| -V, –version | 输出版本号 |
| -v –version | 获取版本 |
| -s –silent | 隐藏所有消息 |
| -m –mini-list | 显示没有格式的压缩列表 |
| -f –force | 强制执行 |
| –disable-logs | 不要记录日志 |
| -n –name <name> | 为脚本设置 <name> |
| -i –instances <number> | 启动实例的数量[number](针对联网应用)(负载均衡) |
| –parallel <number> | 并行操作数量(用于重启/重载) |
| -l –log [path] | 指定整个日志文件(包括error和stdout) |
| -o –output <path> | 指定日志文件 |
| -e –error <path> | 指定错误日志文件 |
| -p –pid <pid> | 指定pid文件 |
| -k –kill-timeout <delay> | 在发送最终SIGKILL信号处理进程前延迟时间 |
| –listen-timeout <delay> | 应用重载时监听超时 |
| –max-memory-restart <memory> | 指定应用自重启的最大内存量(以字节为单位,使用syntax语法,如100M) |
| –restart-delay <delay> | 指定两次重启之间的延迟时间(单位毫秒) |
| –env <environment_name> | 指定环境以获取特定的env变量(用于JSON声明) |
| –log-type <type> | 指定日志输出类型(默认情况下为String,json可选) |
| -x –execute-command | 使用fork系统执行程序 |
| –max-restarts [count] | 重启脚本最大次数 |
| -u –user <username> | 指定生成启动脚本时的用户 |
| –uid <uid> | 使用<uid>权限运行脚本 |
| –gid <gid> | 使用<gid>权限运行脚本 |
| –cwd <path> | 将目标脚本作为<username>运行 |
| –hp <home path> | 定义成启动脚本时的home路径 |
| –wait-ip | 覆盖systemd脚本等待完整的互联网连接以启动pm2 |
| –service-name <name> | 定义生成启动脚本时的服务名称 |
| -c –cron <cron_pattern> | 基于cron模式重启正在运行的进程 |
| -w –write | 在本地文件夹中写入配置 |
| –interpreter <interpreter> | 指定pm2用于执行应用的解释器(bash,python …) |
| –interpreter-args <arguments> | 解释器参数(–node-args的别名) |
| –log-date-format <date format> | 为日志添加自定义前缀时间戳 |
| –no-daemon | 如果pm2守护程序不存在,则在前台运行pm2守护程序 |
| -a –update-env | 在重启/重载时更新环境(-a <=> apply) |
| –source-map-support | 强制源地图支持 |
| –only <application-name> | 与json声明一起,允许只运行一个应用 |
| –disable-source-map-support | 强制源地图支持 |
| –wait-ready | 请求pm2等待应用中的ready事件 |
| –merge-logs | 合并来自不同实例的日志,但保持错误并分离 |
| –watch [paths] | 监听应用文件夹的更改(default: "") |
| –ignore-watch <folders|files> | 指定忽略监听的文件夹/文件,应该是一个特定的名称或正则表达式,例如 --ignore-watch="test node_modules "some scripts" |
| –node-args <node_args> | 传递给解释器的参数,例如 --node-args="--debug=7001 --trace-deprecation" |
| –no-color | 跳过颜色 |
| –no-vizion | 在无vizion功能的情况下启动一个应用(版本控制) |
| –no-autorestart | 在无自重启下启动一个应用 |
| –no-treekill | 只kill主进程,不分离子进程 |
| –no-pmx | 在无pmx下启动一个应用 |
| –no-automation | 在无pmx下启动一个应用 |
| –trace | 使用km启用事务跟踪 |
| –disable-trace | 使用km禁用事务跟踪 |
| –attach | 在启动/重启/停止/重载后追加日志记录 |
| –sort <field_name:sort> | 根据字段名称进行排序 |
| –v8 | 启用v8数据收集 |
| –event-loop-inspector | 在pmx中启用事件循环检查器转储 |
| –deep-monitoring | 启用所有监控工具(相当于--v8 --event-loop-inspector --trace) |
| -h, –help | 输出帮助信息 |
pm2命令
| 命令名称 | 描述 |
|---|---|
| start [options] <file|json|stdin|app_name|pm_id…> | 启动并守护应用 |
| trigger <proc_name> <action_name> [params] | 部署你的json |
| deploy <file|environment> | 部署你的json |
| startOrRestart <json> | 启动或重启JSON文档 |
| startOrReload <json> | 启动或优雅重载JSON文件 |
| pid [app_name] | 返回指定[app_name]的pid或全部pid |
| startOrGracefulReload <json> | 启动或正常重载JSON文件 |
| stop [options] <id|name|all|json|stdin…> | 停止一个进程(想再次启动,执行pm2 restart app) |
| restart [options] <id|name|all|json|stdin…> | 重启一个进程 |
| scale <app_name> <number> | 根据total_number参数在群集模式中放大/缩小进程 |
| snapshot | PM2内存快照 |
| profile <command> | 配置文件CPU |
| reload <name|all> | 重载进程(请注意,它是作用于使用HTTP/HTTPS的应用) |
| gracefulReload <name|all> | 正常重载一个进程。 发送“关机”消息关闭所有连接。 |
| id <name> | 按名称获取进程ID |
| delete <name|id|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> | 停止并卸载模块 |
| publish|module:publish | 发布你当前所在的模块 |
| 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|interact [options] [secret] [public] [name] | 将操作链接到keymetrics.io,命令可以stop|info|delete|restart |
| unlink | 将操作取消链接到keymetrics.io,命令可以stop|info|delete|restart |
| unmonitor [name] | 不监控目标进程 |
| monitor [name] | 监控目标进程 |
| open | 在浏览器中打开仪表板 |
| register | 在keymetrics上创建一个帐户 |
| login | 登录keymetrics并链接当前的PM2 |
| web | 在0.0.0.0:9615上启动一个health API |
| dump|save | 转储所有进程以便之后可以恢复它们 |
| send <pm_id> <line> | 发送stdin到<pm_id> |
| attach <pm_id> [comman] | 将标准输入/标准输出附加到由<pm_id>标识的应用 |
| resurrect | 恢复之前转储的所有进程 |
| unstartup [platform] | 禁用并清除自启动,[platform]=systemd,upstart,launchd,rcd |
| startup [platform] | 为pm2启动设置脚本,[platform]=systemd,upstart,launchd,rcd |
| logrotate | 复制默认的logrotate配置 |
| ecosystem|init [mode] | 生成一个进程配置文件。(mode = null or simple) |
| reset <name|id|all> | 重置进程的计数器 |
| describe <id> | 描述进程ID的所有参数 |
| desc <id> | (别名) 描述进程ID的所有参数 |
| info <id> | (别名) 描述进程ID的所有参数 |
| show <id> | (别名) 描述进程ID的所有参数 |
| list|ls | 列出所有进程 |
| l | (别名) 列出所有进程 |
| ps | (别名) 列出所有进程 |
| status | (别名) 列出所有进程 |
| jlist | 以JSON格式列出所有进程 |
| prettylist | 以prettified JSON输出json |
| monit | 开启暂时的监控 |
| imonit | 启动legacy termcap监测 |
| dashboard|dash | 启动带有监控和日志的仪表板 |
| flush | 刷新日志 |
| reloadLogs | 重载所有日志 |
| logs [options] [id|name] | 流化日志文件。 默认流化所有日志 |
| kill | 杀死守护进程 |
| pull <name> [commit_id] | 更新给定应用的仓库 |
| forward <name> | 更新仓库为给定应用的下一次提交 |
| backward <name> | 降级仓库为给定应用的上一次提交 |
| gc | 强制PM2触发垃圾收集 |
| deepUpdate | 执行PM2的深层更新 |
| serve|expose [path] [port] | 指定提供静态文件目录的http端口 |
问题
我们很乐于帮你解决你可能遇到的问题。搜索或查看FAQ。你也可以在PM2的GitHub仓库提交问题或评论。