1 回答
TA贡献1811条经验 获得超6个赞
为了实现它,您需要将exec.Commandcall替换为os.StartProcess提供额外的流程属性os.ProcAttr和syscall.SysProcAttr. 设置标志Setpgid并以默认值 0 离开Pgid可以达到@that_other_guy 提到的目标。
package main
import (
"fmt"
"os"
"os/exec"
"syscall"
)
func main() {
cmd, err := exec.LookPath("sleep")
if err != nil {
panic(err)
}
attr := &os.ProcAttr{
Sys: &syscall.SysProcAttr{
Setpgid: true,
},
}
process, err := os.StartProcess(cmd, []string{cmd, "1m"}, attr)
if err != nil {
panic(err)
}
fmt.Println(process.Pid)
process.Release()
for {
}
return
}
- 1 回答
- 0 关注
- 224 浏览
添加回答
举报