Что означает «ve» в «execve»? - PullRequest
0 голосов
/ 19 мая 2018

Что означает ve в execve?

Я прочитал man execve, но не понял, что это значит.Я понимаю, что это может быть "вектор", но не уверенЧто значит ve?

Ответы [ 2 ]

0 голосов
/ 19 мая 2018

execve() - это функция POSIX (и систем UNIX в целом) семейства функций exec*(), которые заменяют текущий образ процесса.

v происходит из-за того, что он принимаетаргумент argv к вектору аргументов программы (аналогично функции main программы на C).

e исходит из другого аргумента, envp, который аналогично является вектором переменных среды (пары ключ / значение, такие как LANG=en_US.UTF-8).

Для получения дополнительной информации см., Например, документы Open Group по exec*().

0 голосов
/ 19 мая 2018

Из Википедии мы видим, что:

Некоторые реализации предоставляют этим функциям имена с начальным подчеркиванием (например, _execl).

Основа каждогоis exec (execute), за которым следуют одна или несколько букв:

e - Массив указателей на переменные среды явно передается в> новый образ процесса.

l - Аргументы командной строкипередаются индивидуально (список) в функцию.

p - использует переменную среды PATH для поиска файла с именем в аргументе file>.

v - КомандаСтроковые аргументы передаются функции в виде массива (вектора) указателей.

В вызовах execl, execlp, execv и execvp новый образ процесса наследует текущие переменные среды. (выделение мое.)

Так что ваши подозрения верны.

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