github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/internal/subshell/sscommon/sscommon_darwin.go (about)

     1  package sscommon
     2  
     3  import (
     4  	"os/exec"
     5  	"syscall"
     6  
     7  	"github.com/ActiveState/cli/internal/errs"
     8  )
     9  
    10  var lineBreak = "\n"
    11  var lineBreakChar = `\n`
    12  
    13  func stop(cmd *exec.Cmd) error {
    14  	// darwin randomly returns an error when using cmd.Process.Signal
    15  	sig := syscall.SIGHUP
    16  	if err := syscall.Kill(cmd.Process.Pid, sig); err != nil {
    17  		return errs.Wrap(err, "SignalCmd failure")
    18  	}
    19  
    20  	sig = syscall.SIGTERM
    21  	if err := syscall.Kill(cmd.Process.Pid, sig); err != nil {
    22  		return errs.Wrap(err, "SignalCmd failure")
    23  	}
    24  
    25  	return nil
    26  }