//go:build linux package opencode import ( "os/exec" "syscall" ) func sysProcAttr(proc *exec.Cmd) { proc.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} } // killProcGroup убивает всю process-group по лидеру pid (SIGKILL дочерним и // SIGTERM лидеру). Игнорирует ошибки: weakest-effort teardown. func killProcGroup(pid int) { pgid, err := syscall.Getpgid(pid) if err != nil { return } _ = syscall.Kill(-pgid, syscall.SIGKILL) _ = syscall.Kill(pid, syscall.SIGKILL) }