- 使用 tini 作为 PID 1 init 进程,处理僵尸进程回收和信号转发 - 多次 SIGINT (3次) 支持强制退出 - GoroutinePool.Stop() 添加 5s 超时等待,防止无限阻塞 - GracefulUpgrade 启动 goroutine 等待子进程,避免僵尸进程 - 关闭父进程文件描述符副本,防止泄漏 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 使用 tini 作为 PID 1 init 进程,处理僵尸进程回收和信号转发 - 多次 SIGINT (3次) 支持强制退出 - GoroutinePool.Stop() 添加 5s 超时等待,防止无限阻塞 - GracefulUpgrade 启动 goroutine 等待子进程,避免僵尸进程 - 关闭父进程文件描述符副本,防止泄漏 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>