ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

REA CLI 退出码全解:0、1 与 128+N 三种状态的含义与处理指南

REA CLI 退出码全解:0、1 与 128+N 三种状态的含义与处理指南 REA CLI 退出码全解0、1 与 128N 三种状态的含义与处理指南【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/reaREA 是一款用 AI 智能体逆向工程的 CLI 工具可以分析从应用行为到原生二进制的一切目标。本文讲解REA CLI 退出码0、1和128N三种状态分别代表什么以及脚本自动化中如何处理它们。退出码速查表每次运行rea命令进程结束后都会留下一个退出码exit code。它是脚本判断命令是否成功的唯一依据退出码含义一句话解释0操作完成命令跑完了结果可能包含警告或未决问题但流程本身成功1操作失败参数错误、权限不足、超时、取消或其他故障导致无法完成128 N信号终止进程被信号 N 结束例如130 CtrlCSIGINT143 SIGTERM完整契约见官方文档 docs/cli.md 的 Output and exit status 一节。0完成 ≠ 完美注意区分成功与完成这是新手最容易混淆的一点0只表示操作完成不表示分析结果无懈可击。结果里可能包含部分证据、警告或未能解答的问题输出格式--json或默认 TOON不影响状态——格式问题不会让成功的命令变成失败在脚本中0就是可以放心继续下一步的信号。另外两个特殊命令值得单独记住setup --dry-run返回planned并以0退出取消setup 也以0退出只有needs_confirmation或needs_human才返回1doctor在所选就绪检查范围内必需项失败时返回1可选项不可用仅作参考信息。1失败时的排错三步法退出码1表示操作无法完成。此时别慌结构化输出会告诉你具体原因无效输入、权限、取消、超时等。排错路径在 src/cliLogging.ts 中命令失败或抛出错误时运行时会把process.exitCode置为1并输出对应的结构化错误信息。推荐三步法读结构化错误输出--json模式下错误信息可直接被程序解析重跑一次网络或引擎的瞬时故障往往重试即好运行诊断仍失败则执行rea doctor它会检查 providerHopper / Ghidra 等的就绪状态见 src/Doctor.ts。128N信号终止的底层原理128N是 Unix 世界的通用约定进程被信号 N 杀死时退出码为 128 加信号编号。退出码信号常见场景130SIGINT(2)你在终端按了 CtrlC143SIGTERM(15)系统或服务发送终止请求137SIGKILL(9)强制杀死通常由 OOM 或手动kill -9触发REA 在 src/cli/commandCancellation.ts 中实现了这一约定捕获SIGINT后先把退出码记为130、捕获SIGTERM记为143然后触发清理逻辑让 provider 进程、浏览器会话等资源有机会妥善关闭最后再以对应退出码退出。也就是说按 CtrlC 是体面退出不是崩溃。在脚本与 CI 中正确消费退出码最简单的判断方式rea analyze /path/to/program --provider ghidra --json result.json echo $? # 0 完成1 失败130/143 被信号中断管道中别丢掉失败状态rea ... | jq .这类管道有个陷阱jq成功会掩盖前面rea的失败。解决方法是启用pipefail官方文档同样推荐set -o pipefail rea inspect-artifact ./app.asar --json | jq . inspection.json这样管道中任何一环失败整个管道的退出码都会如实反映 REA 的失败状态适合放入 CI 流水线。CI 中的快速模板if rea doctor --provider ghidra --json; then rea analyze /path/to/program --provider ghidra --json else echo 环境未就绪 2 exit 1 fi常见问题FAQQ命令被 CtrlC 打断退出码是 130算失败吗不算程序故障。130只是用户主动中断的标记重新运行即可。Q为什么--json输出了错误信息退出码却是 0输出格式与操作状态互相独立。但注意结构化输出本身带有错误内容时REA 仍会把退出码置为10只出现在操作完成时即使结果含警告。Q如何确认失败的具体原因用--json查看结构化错误字段再跑rea doctor定位环境问题各 provider 的排错指南见 docs/installation.md。写在最后记住三句话即可驾驭REA CLI 退出码0 完成可继续1 失败看结构化输出并重试 / 跑doctor128N 被信号结束130CtrlC和143SIGTERM最常见属正常中断。配合 docs/cli.md 的命令参考你就能把 REA 稳定地接入自己的自动化与 CI 流程中。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表