1// +build darwin dragonfly freebsd linux netbsd openbsd solaris
2
3package executor
4
5import (
6	"os/exec"
7	"syscall"
8)
9
10// isolateCommand sets the setsid flag in exec.Cmd to true so that the process
11// becomes the process leader in a new session and doesn't receive signals that
12// are sent to the parent process.
13func isolateCommand(cmd *exec.Cmd) {
14	if cmd.SysProcAttr == nil {
15		cmd.SysProcAttr = &syscall.SysProcAttr{}
16	}
17	cmd.SysProcAttr.Setsid = true
18}
19