子進程fork后os.StartProcess()調用golang庫函數setpgid(0,0)。它在“linux”和“bsd”配置上執行此操作,來源如下:http : //golang.org/src/pkg/syscall/exec_bsd.go? h = SYS_SETPGID# L105 http://golang.org/src/ pkg/syscall/exec_linux.go?h=SYS_SETPGID#L117我過去注意到 OSX Foundation 庫NSTask - (void)launch方法做同樣的事情(未記錄)。當時這似乎很煩人,因為它使管理進程樹變得更加困難。這些庫自動執行此操作有什么好處?
Go中os.StartProcess為什么將子進程組id設置為子進程pid
幕布斯6054654
2021-08-23 16:06:35