Изменение переменной среды запущенного процесса - PullRequest
16 голосов
/ 21 декабря 2011

У меня есть скрипт, который экспортирует переменную среды и запускает некоторые подписки.

export LOGLEVEL="1"
/home/myuser/bin/myscript1.sh
/home/myuser/bin/myscript2.sh

LOGLEVEL доступно для запуска процессов из подписчиков. Как я могу изменить переменную окружения LOGLEVEL?

Я попытался установить переменную с помощью export LOGLEVEL="5", но она не работает.

1 Ответ

21 голосов
/ 21 декабря 2011

Как правило, вы можете влиять на переменные среды процесса только во время запуска процесса.Если вам нужно сообщить об изменении работающему процессу, среда не является подходящим инструментом.

Однако на этот вопрос есть ответы на некоторые вопросы, предлагающие способы преодоления этого ограничения.

Отредактировано для добавления в свете обсуждения в комментариях к вопросу: довольно хороший способ сообщения иногда изменяющейся настройки запущенному процессу - это указать файл конфигурации, в котором установлено значение LOGLEVEL, отправить SIGHUP процессу ипопросите процесс перечитать файл конфигурации после получения SIGHUP.

...