Все о команде Linux / Unix: execvp

 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 будет установлена ​​для указания ошибки. 

Используйте команду man (% man), чтобы увидеть, как команда используется на вашем компьютере.

имя

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

конспект

#включают

внешний символ ** 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 []);  

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