execv — Команда Linux — Команда Unix

execl, execlp, execle, execv, execvp — выполнить файл 

конспект

#включают

внешний символ ** environment;

int execl (const char *дорожка, const char *Arg, …); 
int execlp (const char *файл, const char *Arg, …); 
int execle (const char *дорожка, const char *Arg , …, char * const envp[]); 
int execv (const char *дорожка, char * const ARGV[]); 
int execvp (const char *файл, char * const ARGV[]);  

Описание функций exec

 Exec Семейство функций заменяет текущий образ процесса новым образом процесса. Функции, описанные на этой странице руководства, являются интерфейсом для этой функции. execve(2). (См. Страницу руководства для execve для получения подробной информации о замене текущего процесса.)

Начальным аргументом для этих функций является путь к файлу, который должен быть выполнен.

Const char * arg и последующие эллипсы в execlфункций имеют, а также execle функции можно рассматривать как arg0, arg1, …, argn. Вместе они описывают список из одного или нескольких указателей на строки с нулевым символом в конце, которые представляют список аргументов, доступных для исполняемой программы. Первый аргумент, по соглашению, должен указывать на имя файла, связанного с исполняемым файлом. Список аргументов должен заканчиваться ЗНАЧЕНИЕ NULL указатель.

 execv а также execvp функции предоставляют массив указателей на строки с нулевым символом в конце, которые представляют список аргументов, доступный для новой программы. Первый аргумент, по соглашению, должен указывать на имя файла, связанного с исполняемым файлом. Массив указателей должен заканчиваться ЗНАЧЕНИЕ NULL указатель.

 execle Функция также определяет среду выполняемого процесса, следуя  ЗНАЧЕНИЕ NULL указатель, который завершает список аргументов в списке параметров или указатель на массив argv с дополнительным параметром. Этот дополнительный параметр является массивом указателей на строки с нулевым символом в конце и должен завершаться ЗНАЧЕНИЕ NULL указатель. Другие функции берут среду для нового образа процесса из внешней переменной среды в текущем процессе.

Некоторые из этих функций имеют особую семантику.

Функции функций имеют а также execvp будет дублировать действия оболочки при поиске исполняемого файла, если указанное имя файла не содержит косую черту (/). Путь поиска — это путь, указанный в среде ДОРОЖКА переменная. Если эта переменная не указана, используется путь по умолчанию «: / bin: / usr / bin ». Кроме того, некоторые ошибки обрабатываются специально.

Если для файла отказано в разрешении (попытка execve возвращенный EACCES), эти функции продолжат поиск по оставшейся части пути поиска. Если другой файл не найден, он вернется с глобальной переменной errno, установленной в EACCES.

Если заголовок файла не распознан (попытка execve возвращенный ENOEXEC), эти функции будут выполнять оболочку с путем к файлу в качестве первого аргумента. (Если эта попытка не удалась, дальнейший поиск не производится.) 

Возвращаемое значение функций exec

Если какой-либо из Exec функции возвращаются, произойдет ошибка. Возвращаемое значение -1, и глобальная переменная errno будет установлена ​​для указания ошибки. 

Ссылка на основную публикацию