Exec семейство функций заменяет текущий образ процесса новым образцом процесса. Описанные здесь функции являются фронтами для функцииexecve(2).
Начальный аргумент для этих функций - это путь к файлу, который должен быть выполнен.
const char * arg и последующие эллипсы вexecl, функций имеют, а такжеexecle функции можно рассматривать как arg0 , arg1 , …, АГРН , Вместе они описывают список одного или нескольких указателей на строки с нулевым завершением, которые представляют список аргументов, доступных для исполняемой программы. Первый аргумент, по соглашению, должен указывать на имя файла, связанное с исполняемым файлом. Список аргументов должен прекратитьНОЛЬ указатель.
execv а такжеexecvp функции предоставляют массив указателей на строки с нулевым завершением, которые представляют список аргументов, доступных новой программе. Первый аргумент, по соглашению, должен указывать на имя файла, связанное с исполняемым файлом. Массив указателей должен прекратитьНОЛЬ указатель.
execle функция также определяет среду выполняемого процесса, следуяНОЛЬуказатель, который завершает список аргументов в списке параметров или указатель на массив argv с дополнительным параметром. Этот дополнительный параметр представляет собой массив указателей на строки с нулевым завершением и должен прекратитьНОЛЬ указатель. Другие функции принимают среду для нового образа процесса из внешней переменной окружать в текущем процессе.
Некоторые из этих функций имеют специальную семантику.
Функциифункций имеют а такжеexecvp будет дублировать действия оболочки при поиске исполняемого файла, если указанное имя файла не содержит символ косой черты (/). Путь поиска - это путь, указанный вДОРОЖКА переменная. Если эта переменная не указана, используется путь по умолчанию ``: / bin: / usr / bin ''. Кроме того, определенные ошибки обрабатываются специально.
Если разрешение отклонено для файла (попыткаexecve возвращенныйEACCES), эти функции будут продолжать поиск остальной части пути поиска. Однако, если другой файл не найден, они возвращаются с глобальной переменной ERRNO установлен вEACCES.
Если заголовок файла не распознается (попыткаexecve возвращенныйENOEXEC), эти функции будут выполнять оболочку с указанием пути файла в качестве первого аргумента. (Если эта попытка не удалась, дальнейший поиск не выполняется).
Возвращаемое значение
Если какой-либо изExec функции возвращаются, произошла ошибка. Возвращаемое значение равно -1, а глобальная переменная ERRNO будет установлен для указания ошибки.
Важный: Использовать человек команда ( % человек ), чтобы увидеть, как команда используется на вашем конкретном компьютере.
название
execl, execlp, execle, execv, execvp - выполнить файл
конспект
#включают extern char ** environ; 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 );