Files
crawlab/backend/services/sys_exec/linux_mac.go
2020-09-20 12:35:21 +08:00

31 lines
481 B
Go

// +build !windows
package sys_exec
import (
"os/exec"
"syscall"
)
func BuildCmd(cmdStr string) *exec.Cmd {
return exec.Command("sh", "-c", cmdStr)
}
func Setpgid(cmd *exec.Cmd) {
if cmd == nil {
return
}
if cmd.SysProcAttr == nil {
cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
} else {
cmd.SysProcAttr.Setpgid = true
}
}
func KillProcess(cmd *exec.Cmd) error {
if cmd == nil {
return nil
}
return syscall.Kill(-cmd.Process.Pid, syscall.SIGKILL)
}