gemini-cli 修复会话退出挂起:stdin、MCP 子进程清理全链路补丁
Pcmhacker-piro · ghdev · 2026-09-21
google-gemini/gemini-cli 的 #29435 PR 修复了会话退出时进程挂起的问题:
- stdin 清理:drainStdin() 现在会 pause() stdin、移除 data 监听器并 unref(),此前恢复 stdin 会让 Node 事件循环永不退出。
- MCP 子进程清理:连接时保存 transport 引用,新增 closeTransportSafely() 用超时竞速、销毁 stdio 管道、必要时 SIGKILL 强杀子进程;McpClientManager.stop() 外包一层 Promise.race 超时兜底。
- 优雅退出:gracefulShutdown()、/quit 命令和入口 runner 都加了看门狗定时器;清理进行中再按一次 Ctrl+C 会以退出码 130 立即强制退出。
测试:vitest 共 137 个相关用例通过,eslint 全过。
「编程与Agent」频道最新
- Gradio Workflow 登上 Product Hunt:拖拽节点搭 AI 流水线 — Gradio · 2026-09-21
- Shopify CEO:Tobi 称 MCP vs CLI 之争吵错了层次,关键在持久状态 REPL — _AustinCalvert_ · 2026-09-21
- AWS 发布全托管 AgentCore Runtime,agent 有了常驻无服务器算力 — bookwormengr · 2026-09-21
- 开发者用 Jev 在 Codex 任务中动态调整 GPT-6 推理力度,实测成本降 50% — brandon_galang · 2026-09-21
- 把问题放到 prompt 开头,本地 Qwen 准确率 89%→100%,延迟降 5 倍 — Micha0827 · 2026-09-21
- 开源 auto-router 上线:感知缓存成本,自动为每次请求选最便宜模型 — airesearch12 · 2026-09-21