2

フォーク後に子プロセスでgolang ライブラリ関数os.StartProcess()が呼び出されます。setpgid(0,0)

「linux」および「bsd」構成でこれを行います。ソースは次のとおり です 。 pkg/syscall/exec_linux.go?h=SYS_SETPGID#L117

以前、OSX Foundation ライブラリ メソッドが同じことを行っていることに気付きましたNSTask - (void)launch(文書化されていません)。当時は、プロセスのツリーを管理するのが難しくなるので、面倒に思えました。

これらのライブラリがこれを自動的に行う利点は何ですか?

4

1 に答える 1

1

短い答えは、そうではないということです。attr.Sys.Setpgid が true の場合にのみグループを変更します。これは、システムの API と同等の機能を持つためです。すべてのOSでオプションでさえありません

于 2014-10-14T07:19:16.717 に答える