Обновление переменной окружения для запущенного процесса
Всем привет. Подскажите, можно ли обновить значение ENV-переменной для уже запущенного процесса без перезапуска самого процесса.
Есть сервер, который работает и обрабатывает запросы. Он ссылается на какую-то переменную окружения, я открываю соседний терминал, прописываю
export ENV_VAR='Hello world'
отправляю запрос на сервер и он мне отвечает новым значением ENV_VAR без принудительной перезагрузки самого сервера.
Если вопрос не сюда, извините.
Ответы (1 шт):
Переменная окружения записывается в процесс системным вызовом execve при создании процесса. После того, как процесс создан, нет никаких стандартных способов изменить извне переменные окружения.
Но если вы чувствуете в себе силы, можете попробовать подключиться к процессу через gdb и через вызов функции setenv изменить переменную. Подробнее: Добавление переменной окружения в Linux при помощи Golang до выхода пользователя из системы