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