Files
crawlab/core/sys_exec/sys_exec_linux.go
2024-06-25 14:58:54 +08:00

31 lines
518 B
Go

//go:build linux
// +build linux
package sys_exec
import (
"errors"
"os/exec"
"strings"
"syscall"
)
func BuildCmd(cmdStr string) (cmd *exec.Cmd, err error) {
if cmdStr == "" {
return nil, errors.New("command string is empty")
}
args := strings.Split(cmdStr, " ")
return exec.Command(args[0], args[1:]...), nil
}
func SetPgid(cmd *exec.Cmd) {
if cmd == nil {
return
}
if cmd.SysProcAttr == nil {
cmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
} else {
cmd.SysProcAttr.Setpgid = true
}
}