github.com/anthropics/anthropic-sdk-go@v1.70.1/tools/agenttoolset/bash_kill_unix.go (about) 1 //go:build !windows 2 3 package agenttoolset 4 5 import ( 6 "os" 7 "syscall" 8 ) 9 10 // killProcessGroup terminates p's whole process group (pty.Start sets Setsid, 11 // so PGID == PID), falling back to p.Kill() if the group kill fails. 12 func killProcessGroup(p *os.Process) error { 13 if p == nil { 14 return nil 15 } 16 if err := syscall.Kill(-p.Pid, syscall.SIGKILL); err == nil { 17 return nil 18 } 19 return p.Kill() 20 }