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

Имя: execl, execlp, execle, execv, execvp — выполнить файл.

#включают 
extern char ** environment; int execl (const char * path, const char * arg, ...);
int execlp (const char * file, const char * arg, ...);
int execle (const char * path, const char * arg, ..., char * const envp []);
int execv (const char * path, char * const argv []);
int execvp (const char * file, char * const argv []);  

Описание

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

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 функции возвращаются, произойдет ошибка. Возвращаемое значение -1, и глобальная переменная errno будет установлена ​​для указания ошибки.  

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