Каждый процесс в системе связан с группой процессов. Группу процесса иногда называют заданием (job), она управляется как единое целое такими процессами, как оболочка. Некоторые сигналы (например, SIGINT) доставляются всем членам группы процессов, заставляя всю группу в целом приостанавливать или возобновлять выполнение, прерываться или завершаться.
Сеансы были разработаны Рабочей группой ШЕЕ POSIX. 1003.1 с целью исправить давнишнюю проблему безопасности в UNIX, а именно то, что процессы могли изменять состояние терминалов, которым доверяли другие пользовательские процессы. Сеанс является совокупностью групп процессов, и все члены группы процессов являются членами одного и того же сеанса. В FreeBSD, когда пользователь впервые регистрируется в системе, он входит в новый сеанс. У каждого сеанса есть управляющий процесс, которым обычно является регистрационная оболочка пользователя. Все последующие процессы, созданные пользователем, являются частью группы процессов внутри этого сеанса, если он не создаст явным образом новый сеанс. У каждого сеанса есть также связанное с ним регистрационное имя, которое обычно является регистрационным именем пользователя. Это имя может изменить лишь суперпользователь.
Каждый сеанс связан с терминалом, известным как управляющий терминал. У каждого управляющего терминала есть группа процессов, связанная с ним. Обычно из терминала читают или записывают в него лишь процессы, входящие в текущую группу процессов терминала, позволяя разделять терминал между несколькими различными заданиями. Когда управляющий процесс завершается, для всех оставшихся в сеансе процессов доступ к терминалу отбирается.
Вновь созданным процессам назначаются ID процессов, отличающиеся от ID уже существующих процессов или групп процессов, и они помещаются в те группы процессов и сеансы, что и их родители. Любой процесс может установить в качестве группы своего процесса собственный ID процесса (создавая тем самым новую группу процессов) или значение любой группы процессов в своем сеансе. Вдобавок любой процесс может создать новый сеанс, если он уже не является лидером группы процессов.
- 14/08/2010 01:10 - Введение в управление процессами
- 13/08/2010 12:27 - Учет использования ресурсов
- 10/08/2010 06:42 - Ограничения ресурсов
- 05/08/2010 21:50 - Приоритеты процессов
- 05/08/2010 08:54 - Службы ресурсов
- 01/08/2010 13:44 - Идентификаторы хостов
- 31/07/2010 18:35 - Идентификаторы пользователя, группы и другие идентификаторы
- 24/07/2010 07:07 - Интервальное время
- 24/07/2010 02:45 - Корректировка времени
- 22/07/2010 16:24 - Внешнее представление