2015-12-12 4 views
0

Я всегда считал, что переменные окружения живут в пределах текущего пользователя. Однако недавно я начал работать над собственной оболочкой и узнал больше о том, как Linux работает под капотом. Теперь мне кажется, что среда не зависит от оболочки и обрабатывается в другом месте (в ядре?). Итак, мой вопрос в том, как именно он работает? Какая часть системы отвечает за сохранение окружающей среды?Где живет среда Linux?

Также, например, Bash проводит различие между значениями export и невыложенными переменными, последние из которых не наследуются подоболочкой. Означает ли это, что каждый процесс - это система, которая имеет собственный набор переменных оболочки?

+1

Каждого _process_ в системе имеет свою собственную среду, снаряды только сами процессы. Наследование среды заботится о ядре при разветвлении процесса, поскольку среда является частью процесса. И каждый процесс может изменить свою собственную среду, но он хочет. – arkascha

ответ

2

Да, каждый процесс будет иметь свой собственный набор окружения.

Вы можете найти их в

cat /proc/<pid>/environ 
+0

Отлично, спасибо. Не могли бы вы порекомендовать какой-либо сайт или какое-нибудь руководство, которое я мог бы прочитать о таких вещах? – Sventimir

+0

https://help.ubuntu.com/community/EnvironmentVariables – Nuetrino

Смежные вопросы