изменить переменную среды на работающий процесс в Mac - PullRequest
0 голосов
/ 21 ноября 2018

У меня запущен процесс на Mac, и я хочу изменить переменную среды извне процесса, используя утилиту командной строки.

Как я могу это сделать?

1 Ответ

0 голосов
/ 01 декабря 2018

Вы не можете изменять переменные окружения запущенного процесса с помощью внешней утилиты.Для этого потребуется, чтобы утилита изменила адресное пространство процесса.Обратите внимание, что это не ограничение macOS.Это ограничение модели процесса UNIX.Когда ядро ​​создает процесс UNIX, переменные среды помещаются в его адресное пространство;как правило, около вершины стека.Они не хранятся в структурах данных ядра для процесса.И поэтому нет системных вызовов для получения или установки этих переменных.Это означает, что ни один процесс не может повлиять на переменные второго процесса, кроме как в тот момент, когда второй процесс создается с помощью execve() или связанного системного вызова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...