[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Среда исполнения процесса

Процесс имеет некоторый набор условий работы, представленный в его
среде исполнения. Термин среда подразумевает  только ранее
экспортированные переменные командного интерпретатора shell. Термин
среда исполнения процесса шире и включает экспортированные переменные
shell, открытые файлы, текущую директорию, устанавливаемые по
умолчанию права доступа при создания файла и т.д.
Когда процесс начинает свое исполнение, его среда формируется
родителем. Первоначально среда создается процессом init и затем
изменяется с помощью login.
Shell изменяет среду исполнения выполнением входного файла
/etc/profile.  Этот файл содержит все команды и установки переменных
среды, которые системный администратор хочет исполнить для каждого
входящего в систему. Входной файл обычно устанавливает переменную TZ и
проверяет почту. Если личная директория содержит .profile, shell
читает команды из этого файла и модифицирует среду конкретного
пользователя.
Процессы пользователя далее могут модифицировать эту среду.
                      СРЕДА ИСПОЛНЕНИЯ ПРОЦЕССА


Определяет набор условий, при которых процесс выполняется

Устанавливается:

init - /etc/inittab, который вызывает /etc/rc2

login командного интерпретатора shell - /etc/profile и
пользовательский .profile

Пользовательская область содержит информацию о среде  исполнения
процесса. Например:
.    Номер самого процесса и его процесса родителя
.    Группу процесса. Процесс входит в группу процессов. Сигнал может
быть послан всем процессам некоторой группы.
.    Ограничения процесса - максимально доступное время ЦП,
максимальный размер  сегмента данных, максимальный размер стека,
максимальный размер файла, максимальное число открытых файлов.
.    Идентификатор сессии. Группы процессов являются членами сессии.
Сессия может иметь только один управляющий терминал, связанный с
данной сессией. Определенные входные  последовательности, посланные с
управляющего терминала, вызывают посылку сигналов группам процессов в
сессии, связанной с данным управляющим терминалом. Управляющий
терминал играет важную роль в обработке сигналов остановки и
прерывания и в управлении заданиями.
.    Права доступа пользователя.
.    Информацию о файловой системе.
.    Действия, совершаемые при получении сигнала.
Стек содержит информацию об среде исполнения процесса. Например:
.    Параметры исполнения
.    Переменные командного интерпретатора shell
Другая информация о среде может быть получена из внешних переменных.
Для того чтобы получить доступ к ним, они должны быть объявлены как
extern. Примеры таких переменных, включая errno и environ, описаны
дальше в этом разделе.
Новое для SVR4: идентификатор сессии

В пользовательской области

 . процесс

   номер
   родитель
   группа
   терминал
   сессия
   ограничения (например, время ЦП, открытые файлы)

 . пользователь

   идентификатор (реальный/эффективный)
   группа (реальный/эффективный)

 . файловая система

   открытые файлы
   текущая директория
   ограничения (umask, ulimit)
   корневая директория root

 . обработка сигналов



В стеке

 . параметры исполнения

 . экспортированные shell-переменные