[<<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-переменные