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」频道最新
- 两人小公司用 46 个 AI Agent 运营:审批门禁、哈希锁文件与翻车复盘 — dkovl · 2026-11-12
- LlamaIndex 让 AI Agent 渗透测试自家 LlamaParse,四天暴露四条经验 — llama_index · 2026-11-12
- Manhattan 字体 v0.0.1:每个字母都是一个 Python 函数 — allanyu_ · 2026-11-12
- 用 Backplane「提示词造出」任意扩展卡,网友呼吁扩展口回归标配 — _Stocko_ · 2026-11-12
- Agent 会话跑了 51 分钟烧 24.8 万 token,网友直呼还在干活 — _Stocko_ · 2026-11-12
- 可视化 AI Agent 团队协作:每个 Agent 一间「房间」,共享知识库 — LiorAloni11 · 2026-11-12