Gemini CLI 修复无头模式中断 bug:shell 不再残留后台
Vara715 · ghdev · 2026-10-30
google-gemini/gemini-cli 的 PR #30051 修复了无头模式(gemini -p ... --yolo)被 Ctrl+C 或信号中断时的问题:
- 进程退出码错误:中断后以退出码 0 结束,而非标准信号码(现改为 SIGINT→130、SIGTERM→143、SIGHUP→129)。
- shell 命令残留:runshellcommand 启动的子进程会脱离进程组在后台继续跑完,现在新增 cleanupAllActiveProcesses() 在退出时跨平台终止活跃子进程与 PTY 进程组(Windows 用 taskkill,POSIX 用组信号)。
- 会话记录缺失:session-.jsonl 不记录被中断的工具调用,导致 --resume latest 恢复时无痕迹;现在工具调用在模型流产出时即以 Scheduled 状态持久化,恢复时会为未完成的调用合成一个 interrupted functionResponse,既避免 Gemini API 400(未配对的 function call),也让模型知道执行被打断、可先检查状态再重跑。
此外把 createCancelledToolCall 等辅助函数抽到 @google/gemini-cli-core,使交互式与无头模式一致地记录取消。修复 issue #30007,PR 内附单元测试与验证步骤。
「编程与Agent」频道最新
- 谷歌开源项目让 AI Agent 像人一样操控真安卓手机,AndroidWorld 得分 99%+ — victor_explore · 2026-10-31
- OpenRouter 团队推出 OpenCommerce:一个接口接入 5000 家商店供 Agent 购物 — ycombinator · 2026-10-31
- YC 总裁:AI 让代码如洪水般涌来,软件工程体系需推倒重建 — garrytan · 2026-10-31
- 宝玉开源 baoyu-design v2:任意模型复刻 Claude Artifacts 高保真原型 — dotey · 2026-10-31
- 一个 prompt 起步,AI 生成 15969 行代码的 3D 开放世界 — jacalulu · 2026-10-31
- Mistral Large 4 以少 47% token 追平 GLM-5.3,价格约为预览版一半 — petrusenko_max · 2026-10-31