cli-anything-pm2 是一个用于 PM2 进程管理的无状态命令行界面工具,通过 PM2 CLI 子进程进行通信,不保存本地状态或会话。
用途
该工具用于以命令行方式管理 Node.js 进程,适合需要自动化或程序化操作 PM2 的场景。它以无状态设计运行,每次调用独立完成,不依赖本地会话。
主要能力
命令分为四个组:
- process(进程检查):list 列出所有 PM2 进程;describe <name> 获取某进程的详细信息;metrics 获取所有进程的指标。
- lifecycle(进程生命周期):start <script> --name <name> 启动新进程;stop <name> 停止进程;restart <name> 重启进程;delete <name> 删除进程。
- logs(日志管理):view <name> --lines 50 查看最近日志;flush [name] 清空日志。
- system(系统级):save 保存当前进程列表;startup 生成启动脚本;version 获取 PM2 版本。
所有命令支持两种输出模式:人类可读(默认,表格、颜色、格式化文本)和机器可读(--json 标志,结构化 JSON)。
使用方式
安装命令:pip install -e .
前置条件:Python 3.10+;PM2 已全局安装(npm install -g pm2)。
基本命令示例:
查看帮助
cli-anything-pm2 --help
启动交互式 REPL 模式
cli-anything-pm2
JSON 输出(供代理消费)
cli-anything-pm2 --json process list cli-anything-pm2 --json system version
REPL 模式:不带子命令调用时会进入交互式 REPL 会话,支持 tab 补全和历史记录。
人类输出示例:cli-anything-pm2 process list JSON 输出示例:cli-anything-pm2 --json process list
适用场景
- 需要以脚本或程序方式批量管理 PM2 进程。
- AI 代理需要消费结构化 JSON 输出进行进程管理。
- 通过交互式 REPL 手动执行 PM2 相关操作。
AI 代理使用注意事项
以编程方式使用该 CLI 时:始终使用 --json 标志以获得可解析输出;检查返回码(0 表示成功,非零表示错误);失败时解析 stderr 获取错误信息。
限制
该工具为无状态设计,不保存本地状态或会话。版本为 1.0.0。关于收费、价格等信息暂未提供。