Си setenv глобально

Рейтинг: 0Ответов: 0Опубликовано: 21.05.2023

Я полностью понимаю что,вопрос скорее риторический, и что export ENV=value это builtin команда шела.

Но все-же интересно спросить реально ли вывести env переменную за просторы программы и её наследников? Возможно есть какой нибудь хак как можно это сделать?

Возможно что ситуацию спасет некий плагин/драйвер для shell который сможет получать особую команду от программы?

И да, очень важную вещь забыл. Интересует именно временная замена, а не прописывание в ОС/пользовательские настройки. То-есть при закрытии шела, переменная должна пропадать.

Ps: Использую классический линуксовый c17.

Добавлено спустя

В Windows эту задачу решили способом инъекции. То есть в родителя производиться инъекция DLL, которая меняет environment по усмотрению запущенной программы.

Раз уж сложный вопрос, то может будем плясать от схожих манипуляций?

Во многих статьях ещё ссылаються на gdb

$ sudo gdb -p PROCESSID
(gdb) call putenv("MYVAR=myvalue")
(gdb) detach

Ответы

Ответов пока нет.