1 回答

TA貢獻1811條經(jīng)驗 獲得超6個贊
為了實現(xiàn)它,您需要將exec.Commandcall替換為os.StartProcess提供額外的流程屬性os.ProcAttr和syscall.SysProcAttr. 設(shè)置標志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 關(guān)注
- 243 瀏覽