Почему процесс, выполняемый оболочкой, не наследует идентификатор группы процессов оболочки?

Я прочитал, что, когда Process A запускает процесс B , процесс B наследует идентификатор группы процессов Process A.

Я проверил это, сделав bash выполнить программу cat , но я узнал, что у bash и cat были два разных идентификатора группы процессов, почему?

Сид (идентификатор сеанса) должен быть последовательным.

Когда bash запускает команду, она обычно назначает PGID первому процессу. Если его конвейер, все команды с каналами имеют тот же PGID, что и первый процесс.