Я пытаюсь понять спецификации проекта кодирования C с использованием fork () и execv ().
По сути, мне говорят, что мне нужно либо распространять, либо не распространять переменные окружения Оболочка для команды, которую я выполняю в дочернем процессе в зависимости от двоичного значения.
Хотя, независимо от этого, я должен передавать любые дополнительные переменные окружения, которые мне предоставляются для команды, которую я выполняю в дочернем процессе.
Вся эта идея для меня новая информация, поэтому я просто пытаюсь понять, что именно это означает.
Насколько я понимаю, когда дочерний элемент создается с помощью fork (), переменные среды родительского процесса передаются дочернему процессу, и затем любые дополнительные изменения переменных среды могут быть сделаны в качестве аргумента функции execve (), когда она запускается внутри дочернего процесса.
Но если это так тогда переменные окружения всегда передаются от родителя / оболочки, верно? Так в чем же разница, и как бы мне не распространять эти переменные?
Спасибо за ваше время.