Gemini CLI 修复子进程信号转发,避免重启后孤儿进程

C0d3N1nja97342 · ghdev · 2026-08-04

这次修复了什么

gemini-cli 现在会把父进程接收到的终止信号转发给重启后的子进程,因此像 kill -TERM <pid> 这样的受管退出,会真正停掉仍在运行的 child,而不是把它挂成孤儿进程。

问题出在哪里

修复前,bootstrap 父进程收到 SIGTERM / SIGHUP 之类信号后会按默认行为退出,但子进程会继续跑,OAuth 会话和已分配内存也会被一直占着,直到手动杀掉。这个问题主要出现在 ACP client、systemd、容器运行时等“程序化退出”场景;键盘 Ctrl+C 因为会作用到整个前台进程组,所以不容易复现。

实现方式

验证

新增回归测试覆盖了:

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →