github.com/davidmanzanares/dsd@v0.1.2-0.20210106152357-a35988f5d245/dsdl/run_linux.go (about)

     1  // +build linux
     2  package dsdl
     3  
     4  import (
     5  	"os"
     6  	"syscall"
     7  )
     8  
     9  func runSysProcAttr() *syscall.SysProcAttr {
    10  	return &syscall.SysProcAttr{Setpgid: true}
    11  }
    12  
    13  func kill(p *os.Process) error {
    14  	pgid, err := syscall.Getpgid(p.Pid)
    15  	if err == nil {
    16  		return syscall.Kill(-pgid, 15) // note the minus sign
    17  	}
    18  	return err
    19  }