新しい親は常に「init」ですか、それとも新しい親になる人を制御する方法はありますか?
ウィキペディアは、常に「init」であることを示しているようです。そうでないことを心から願っています。setpgid と setsid で考えられることはすべて試しましたが、うまくいきませんでした。そして、このウィキペディアの記事を見たので、アドバイスが必要です。
Unix ライクなオペレーティング システムでは、孤立したプロセスは、特別な init システム プロセスによってすぐに採用されます。この操作は親の再設定と呼ばれ、自動的に行われます。技術的には、プロセスの親として「init」プロセスがありますが、最初にそれを作成したプロセスが存在しないため、孤立プロセスと呼ばれます。 ウィキペディアから取得
私が質問している理由は、多数のワーカー プロセスを実行する Mac アプリを作成しているためです。これらのワーカー プロセスを、タスク マネージャーのプロセス階層のメイン プロセスの子として表示する必要があります。一部のワーカーは異なるユーザーとして実行され、Mac OS XI では子プロセスに特権を渡すために 2 回 fork する必要があります。現在デーモンとして実行されているワーカーを「ダブルフォーク」しているため、タスクマネージャーで見ると、ワーカーが親プロセスとして「init」を持っていることがわかります。