Обновление переменной окружения для запущенного процесса

Всем привет. Подскажите, можно ли обновить значение ENV-переменной для уже запущенного процесса без перезапуска самого процесса.

Есть сервер, который работает и обрабатывает запросы. Он ссылается на какую-то переменную окружения, я открываю соседний терминал, прописываю

export ENV_VAR='Hello world'

отправляю запрос на сервер и он мне отвечает новым значением ENV_VAR без принудительной перезагрузки самого сервера.

Если вопрос не сюда, извините.


Ответы (1 шт):

Автор решения: Pak Uula

Переменная окружения записывается в процесс системным вызовом execve при создании процесса. После того, как процесс создан, нет никаких стандартных способов изменить извне переменные окружения.

Но если вы чувствуете в себе силы, можете попробовать подключиться к процессу через gdb и через вызов функции setenv изменить переменную. Подробнее: Добавление переменной окружения в Linux при помощи Golang до выхода пользователя из системы

→ Ссылка