Linux

Команда Linux / Unix ‘execvp’

Exec  семейство функций заменяет текущий образ процесса с новым процессом. Описанные здесь функции являются внешними для функции  execve (2). 

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

Const символ * Arg  и последующие эллипсы в  execlфункций имеют и  execle  функции можно рассматривать как  arg0arg1 , …,  АГРН . Вместе они описывают список из одного или нескольких указателей на строки с нулевым символом в конце, которые представляют список аргументов, доступных для исполняемой программы. Первый аргумент, по соглашению, должен указывать на имя файла, связанного с исполняемым файлом. Список аргументов  должен  заканчиваться   указателем NULL .

Функции  execv  и  execvp  предоставляют массив указателей на строки с нулевым символом в конце, которые представляют список аргументов, доступных для новой программы. Первый аргумент, по соглашению, должен указывать на имя файла, связанного с исполняемым файлом. Массив указателей  должен  заканчиваться  нулевым  указателем.

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

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

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

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

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

Похожие посты
Linux

8 лучших окружений рабочего стола Linux

AndroidIphone и ipadLinuxWindows

Окончательное руководство по включению темного режима везде

LinuxКак сделать

Что такое Swappiness в Linux? (и как это изменить)

LinuxКак сделать

Как использовать команду ls для вывода списка файлов и каталогов в Linux