Програмне Забезпечення

Команда Linux / Unix 'execvp'

Автор: Robert Simon
Дата Створення: 22 Червень 2021
Дата Оновлення: 12 Травень 2024
Anonim
EECS 338 - using execvp
Відеоролик: EECS 338 - using execvp

Зміст

Theвиконувати сімейство функцій замінює поточний образ процесу новим зображенням процесу. Описані тут функції є передніми для функціївиконувати(2). 

Початковий аргумент для цих функцій - це ім'я файлу, який повинен бути виконаний.

Theconst char * arg і наступні еліпси вexeclexeclp, іексел функції можна вважати якarg0arg1, ..., аргн. Разом вони описують список одного або декількох покажчиків на рядки з нульовим завершенням, які представляють список аргументів, доступний виконаній програмі. Перший аргумент, за умовою, повинен вказувати на ім'я файлу, пов'язане з файлом, який виконується. Список аргументівповинен припиняється аНУЛЬ покажчик.


Theexecv іexecvp Функції надають масив покажчиків на рядки з нульовим завершенням, які представляють список аргументів, доступний новій програмі. Перший аргумент, за умовою, повинен вказувати на ім'я файлу, пов'язане з файлом, який виконується. Масив покажчиківповинен припиняється аНУЛЬ покажчик.

Theексел Функція також задає середовище виконуваного процесу, дотримуючисьНУЛЬпокажчик, який припиняє список аргументів у списку параметрів або вказівник на масив argv з додатковим параметром. Цей додатковий параметр є масивом покажчиків на нульові завершені рядки таповинен припиняється аНУЛЬ покажчик. Інші функції приймають середовище для нового зображення процесу із зовнішньої змінноїоточення в поточному процесі.

Деякі з цих функцій мають особливу семантику.

Функціїexeclp іexecvp буде дублювати дії оболонки в пошуку виконуваного файлу, якщо вказане ім’я файлу не містить символу косого (/). Шлях пошуку - це шлях, визначений у середовищіПАТ змінна. Якщо ця змінна не вказана, використовується за замовчуванням шлях ``: / bin: / usr / bin ''. Крім того, певні помилки трактуються спеціально.


Якщо дозволу для файлу відмовлено (спробавиконувати повернувсяEACCES) ці функції продовжуватимуть пошук решти шляху пошуку. Якщо іншого файлу не знайдено, вони повернуться із глобальною змінноюerrno встановлений вEACCES.

Якщо заголовок файлу не розпізнається (спробавиконувати повернувсяENOEXEC), ці функції будуть виконувати оболонку з шлях до файлу як її перший аргумент. (Якщо ця спроба не вдалася, подальший пошук не проводиться.)

Повернене значення

Якщо хтось ізвиконувати функції повертаються, сталася помилка. Повернене значення - -1, а глобальна зміннаerrno буде встановлено, щоб вказати на помилку.

Використовуватилюдина команда (% чоловік), щоб побачити, як команда використовується на вашому конкретному комп'ютері.

Ім'я

execl, execlp, execle, execv, execvp - виконати файл


Конспект

#включати

зовнішній чар ** оточення;

int execl (const char *шлях, char char *арг, ...); int execlp (const char *файл, char char *арг, ...); int execle (const char *шлях, char char *арг , ..., char * constоточувати[]); int execv (const char *шлях, char * constаргв[]); int execvp (const char *файл, char * constаргв[]);  

Цікаві Публікації

Рекомендований

Як скинути Safari до налаштувань за замовчуванням
Інтернет

Як скинути Safari до налаштувань за замовчуванням

У рідному веб-браузері Apple, afari, більше немає кнопки скидання, яка повертає його до стану за замовчуванням. Для скидання afari до налаштувань за замовчуванням необхідний багатоступінчастий процес...
Огляд Digg
Інтернет

Огляд Digg

Digg - це веб-сайт із соціальних новин, який може допомогти користувачам знаходити публікації блогу та веб-сторінки, що цікавлять, а також рекламувати сторінки та дописи в блогах, які їм подобаються....