为了账号安全,请及时绑定邮箱和手机立即绑定

Go中os.StartProcess为什么将子进程组id设置为子进程pid

Go中os.StartProcess为什么将子进程组id设置为子进程pid

Go
幕布斯6054654 2021-08-23 16:06:35
子进程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方法做同样的事情(未记录)。当时这似乎很烦人,因为它使管理进程树变得更加困难。这些库自动执行此操作有什么好处?
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

简短的回答是它没有。如果 attr.Sys.Setpgid 为真,它只会更改组。这是为了与系统的 API 具有同等的功能。它甚至不是所有操作系统的选项


查看完整回答
反对 回复 2021-08-23
  • 1 回答
  • 0 关注
  • 517 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信