[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Сессии и группы процессов

Все процессы объединены в сессии. Процессы, принадлежащие к одной
сессии, определяются общим идентификатором сессии - идентификатором
процесса, который создал эту сессию. Лидер сессии - это процесс,
идентификатор сессии которого совпадает с его идентификаторами
процесса и группы процессов. Сессия может выделить себе управляющий
терминал для того, чтобы дать пользователю возможность управлять
исполнением заданий (групп процессов) внутри сессии. При входе в
систему создается сессия, которая имеет идентификатор сессии, равный
идентификатору процесса вашего входного shell'а.
Если ваше окружение не предоставляет управления заданиями, все
процессы в вашей сессии являются также членами единственной в этой
сессии группы процессов, которая была создана вызовом setsid(2). В
этом случае, функциональность сессии совпадает с функциональностью
группы процессов.
В окружении, предоставляющем управление заданиями (ksh), управляющий
терминал совместно используется несколькими группами процессов, так
как для каждого задания, запущенного с управляющего терминала, может
существовать своя группа процессов. Каждая группа процессов имеет
лидера - процесс, идентификатор которого совпадает с идентификатором
группы процессов. Управляющий терминал выделяет одну из групп
процессов в сессии, как группу основных процессов. Все остальные
процессы в сессии принадлежат к группам фоновых процессов. Группа
основных процессов получает сигналы, посланные с терминала. По
умолчанию, группа процессов, связанная с процессом, который выделил
себе управляющий терминал, изначально становится группой основных
процессов.