//go:build !windows package auth import ( "errors" "os" "os/exec" "syscall" "time" ) func configureAPIKeyCommandProcess(cmd *exec.Cmd) { cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true} cmd.Cancel = func() error { if cmd.Process == nil { return os.ErrProcessDone } err := syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL) if errors.Is(err, syscall.ESRCH) { return os.ErrProcessDone } return err } cmd.WaitDelay = 2 * time.Second } func cancelAPIKeyCommandProcess(cmd *exec.Cmd) { if cmd.Cancel != nil { _ = cmd.Cancel() } }