ФЭНДОМ


НАЗВАНИЕ

env - устройство окружения

РЕЗЮМЕ

bind #e /env /env/name

ОПИСАНИЕ

Устройство окружения создает одноуровневый (без вложений) каталог, в котором хранятся переменные окружения и их значения. По соглашению он обычно подключается к каталогу /env. Значение переменной окружения name может быть считано из файла /env/name. Если файл отсутствует, переменная считается незаданной и ее значение автоматически принимается равным nil. Максимальная длина имени переменной не должна превышать 127 байт.
Новая переменная вводится путем создания соответствующего файла в каталоге /env и записи в него соответствующего значения. Удаление такого файла приводит к удалению соответствующей переменной окружения.
Процессы, запущенные в одной группе окружения (environment group), используют одни и те же значения переменных окружения, считывая их из одних и тех же файлов, поэтому изменения, вызванные одним процессом, доступны всем его одногрупникам. Любой процесс может изолировать свое окружение от изменений, привнесенных другими процессами, вызвав системную функцию sys-pctl(2) с флагом `FORKENV`, которая создаст для этого процесса новое окружение - точную копию старого, однако дальнейшие изменения в нем будут происходить независимо от остальных приложений. Пустая (переменные окружения не заданы) группа окружения создается вызовом той же системной функции с флагом `NEWENV`.

ИСХОДНЫЙ КОД

/os/port/devenv.c
/emu/port/devenv.c

СМОТРИ ТАКЖЕ

env(1), sh(1), env(2), sys-pctl(2)