LINUX.ORG.RU

Изменить переменные окружения «на лету»

 ,


0

1

Вообще, возможно ли? При создании процесса передаю ему модифицированную копию системных переменных, но возникает необходимость «обновить» их во время работы процесса.

Для подробностей - запускаю uwsgi как мастер-процесс для нескольких воркеров, которые в свою очередь, берут часть настроек из os.environ. Когда возникает необходимость обновить их, можно послать SIGHUP, это выполнит плавный перезапуск. Но вот настройки останутся те же. Поэтому текущее решение - убивать процесс целиком и запускать заново, с новым окружением.

Разве что только через gdb ))

Но вот настройки останутся те же.

Передавай настройки не через переменные окружения, очевидно же.

baverman ★★★
()

Храни настройки в файлике и перечитывай их при SIGHUP. Все так делают.

Можно ещё через IPC отправлять изменения, но это оверхед

anonymous
()
Ответ на: комментарий от baverman

Пока не придумал способа. Через gdb нагуглил уже, да.

Spectator
() автор топика
Ответ на: комментарий от qulinxao

Переписывание через gdb: http://stackoverflow.com/questions/205064/is-there-a-way-to-change-another-pr...

Ковыряемая мной штука основывается на том, что настройки в файл не записываются, да и вообще с файловой системой работа не идет. Не потому что принципиально, а потому что вот. Перечитывать - не проблема, если придумаю нормально, как и откуда.

Spectator
() автор топика

В gconf / dconf / etc. можно повесить callback.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.