Переменные окружения

Каждый запускаемый процесс система снабжает неким информационным пространством, которое этот процесс может изменять. Правила пользования этим пространством просты: в нем можно задавать именованные хранилища данных (переменные окружения), в которые записывать любую текстовую информацию (присваивать значение переменной окружения), а впоследствии эту информацию считывать (подставлять значение переменной).

В UNIX дочерний процесс создаётся как точная копия родительского, поэтому его окружение — также точная копия родительского. Если про дочерний процесс известно, что он использует значения некоторых переменных из числа передаваемых ему с окружением, родительский может заранее указать, каким из копируемых в окружении переменных нужно изменить значение (см. рисунок Рисунок 1.44, «Наследование переменных окружения»). Одна и та же программа при одинаковом использовании, но в измененном окружении — может выдавать различные результаты. Например, от переменной окружения может зависить язык интерфейса программы или формат используемых данных.

Рисунок 1.44. Наследование переменных окружения

Конечно, переменные окружения — очень ограниченное средство межпроцессного взаимодействия. Во-первых, действие их односторонне, так как дочерний процесс не может изменить окружение родительского процесса. Более того, родительский процесс никак не может воспользоваться информацией из окружения дочернего. Во-вторых, окружение уже запущенного процесса изменить извне нельзя. В-третьих, через переменные окружения можно передавать только текстовые данные, обычно небольшого объёма. Поэтому переменные окружения используются в основном для задания условий запуска программы: положение конфигурационных файлов, требуемые параметры интефейса и аналогичные простые параметры.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: