Какова цель абстракций, сеанса, лидера сеанса и групп процессов?

Из статьи Informit я понимаю, что сеансы и группы процессов используются для прекращения процессов потомков при выходе и отправки сигналов связанным процессам с контролем заданий.

Я считаю, что эту информацию можно извлечь в любой момент, используя PPID каждого процесса. Существуют ли эти концепции только для того, чтобы иметь структуру данных, которая позволяет быстро получать потомков процесса?

Занимаются ли сеансовые и технологические группы в вопросах, отличных от контроля работы и прекращения потомков? хранят ли они какую-либо контекстную информацию?

Любые хорошие ссылки будут полезны.

One Solution collect form web for “Какова цель абстракций, сеанса, лидера сеанса и групп процессов?”

Группы процессов существуют прежде всего для определения того, какие процессы, запущенные с терминала, могут получить доступ к этому терминалу. Только процессы в группе процесса переднего плана могут считывать или записывать на управляющий терминал; фоновые процессы останавливаются сигналом SIGTTIN или SIGTTOU .

Вы можете отправить сигнал атомарно всем процессам в группе процессов, передав отрицательный аргумент PID для kill . Это также происходит, когда сигнал генерируется драйвером терминала в ответ на специальный символ (например, SIGINT для Ctrl + C ).

Сеансы отслеживают, какие группы процессов подключены к терминалу. Только процессы, выполняющиеся в том же сеансе, что и процесс управления, являются передними или фоновыми процессами.

Невозможно определить группы процессов или сеансы из PPID. У вас не было бы способа узнать, находится ли родительский процесс в той же группе процессов или другой, а также для сеансов.

Linux и Unix - лучшая ОС в мире.