C でシェルを作成しています。ジョブごとに新しいプロセス グループを設定しようとしています。各パイプラインの最初のプロセスがジョブのプロセス グループのリーダーになり、他のプロセスはリーダーのプロセス グループに参加します。
したがって、この場合、cat somefile | wcプロセスcatはプロセス リーダーになります。
を使用してこの動作を実現するにはどうすればよいsetpgidですか? 各プロセスをループしている場合、最初の fork の値を保存し、pidそれをループの後続の繰り返しのグループ ID として使用して、適切なプロセス グループ ID を子クラスに設定する必要がありますか?