You've already forked agentic-coding-workflow
bugfix
This commit is contained in:
@@ -41,8 +41,12 @@ func (g *unixGroup) TerminateGroup(done <-chan struct{}, grace time.Duration) {
|
||||
_ = syscall.Kill(-g.pgid, syscall.SIGTERM)
|
||||
select {
|
||||
case <-done:
|
||||
return
|
||||
// 组长已被回收(Cmd.Wait 返回),但其子孙(如 trap SIGTERM 的
|
||||
// vite/esbuild/node)可能仍存活于同一进程组。无条件向整组补发一次
|
||||
// SIGKILL 以确保不留下任何孤儿;若组已全灭,内核返回 ESRCH,无害。
|
||||
_ = syscall.Kill(-g.pgid, syscall.SIGKILL)
|
||||
case <-time.After(grace):
|
||||
// 组长自身超过 grace 仍未退出:直接对整组 SIGKILL。
|
||||
_ = syscall.Kill(-g.pgid, syscall.SIGKILL)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user