package util import ( "cicv-data-closedloop/pji/common/log" "os/exec" ) func GetSubProcessPid(pid string) (string, error) { pgrepCmd := exec.Command("pgrep", "-P", pid) output, err := pgrepCmd.CombinedOutput() if err != nil { return "", err } return string(output), nil } func ExecuteWithPath(path string, name string, arg ...string) (*exec.Cmd, error) { // 创建一个Cmd对象,表示要执行的命令 cmd := exec.Command(name, arg...) // 指定目录 cmd.Dir = path err := cmd.Start() if err != nil { return nil, err } else { // 执行命令并等待它完成d return cmd, nil } } func Execute(name string, arg ...string) (*exec.Cmd, string, error) { cmd := exec.Command(name, arg...) combinedOutput, err := cmd.CombinedOutput() if err != nil { log.GlobalLogger.Info("命令", name, " ", arg, "执行出错:", err) return nil, "", err } return cmd, string(combinedOutput), nil } func KillProcessByPID(pid string) error { cmd := exec.Command("kill", "-9", pid) err := cmd.Run() if err != nil { return err } return nil }