1 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
為了實(shí)現(xiàn)它,您需要將exec.Commandcall替換為os.StartProcess提供額外的流程屬性os.ProcAttr和syscall.SysProcAttr. 設(shè)置標(biāo)志Setpgid并以默認(rèn)值 0 離開Pgid可以達(dá)到@that_other_guy 提到的目標(biāo)。
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 關(guān)注
- 255 瀏覽