Мы используем APR (Apache Portable runtime) для создания дочерних процессов в нашем коде.
Функция apr_proc_create используется для этой цели и прекрасно справляется со своей задачей.
Мне нужно переопределить один переменных среды созданного дочернего процесса и в соответствии с документация они могут быть переданы в параметрах «env».
Тем не менее, как указано в документации, этот параметр игнорируется в некоторых типах команд («Новая таблица среды для нового процесса. Это должен быть список строк, заканчивающихся на NULL. Этот аргумент игнорируется для типов APR_PROGRAM_ENV, APR_PROGRAM_PATH и APR_SHELLCMD_ENV команды «).
Когда я попытался использовать один из команд другого типа, моя переменная среды была доступна, но не остальная переменная среды основного процесса.
Конечно, я могу преодолеть это путем извлечения всех переменных среды из основного процесса и передачи их дочернему процессу вместе с моим.
Но это не имеет смысла для меня, что я не могу просто переопределить / добавить один или несколько
переменные окружения мои.
Есть ли способ сделать это или просто взять все как есть или не брать ничего?
Задача ещё не решена.
Других решений пока нет …