シェルによって実行されるプロセスがシェルのプロセスグループIDを継承しないのはなぜですか?

シェルによって実行されるプロセスがシェルのプロセスグループIDを継承しないのはなぜですか?

読んだときプロセスAスタートプロセスB、その後プロセスB継承するプロセスAプロセスグループID。

プログラムを実行してテストしましたが、2つの異なるプロセスグループIDがあることがわかりましたbash。なぜですか?catbashcat

答え1

sid(セッションID)は一貫性がなければなりません。

Bashがコマンドを実行すると、通常はPGIDが最初のプロセスに割り当てられます。パイプの場合、パイプされたすべてのコマンドは最初のプロセスと同じPGIDを持ちます。

関連情報