Описание функций Си



         

Execl - часть 2


l- показывает, что адресные указатели (arg0, arg1, ..., argn) передаются, как отдельные аргументы. Обычно суффикс l употребляется, когда число пере- даваемых аргументов заранее вам известно;

v- показывает, что адресные указатели (arg[0], arg[1],...arg[n]) передаются, как массив указате- лей. Обычно, суффикс v используется, когда пере- даeтся переменное число аргументов;

e- показывает, что "дочернему" процессу может быть передан аргумент envp, который позволяет выбирать среду "дочернего" процесса. Без суффикса e "дочер- ний" процесс унаследует среду "родительского" про- цесса.

Каждая функция семейства exec... должна иметь один из двух суффиксов, специфицирующих аргументы (либо l, либо v). Суффиксы определения маршрута доступа (PATH) и унаследования операционной среды (p и l) являются необязательными.

Например:

-execl - представляет собой функцию семейства exec..., которая передает раздельные аргументы, ищет "дочерний" процесс только в рабочем каталоге и передает "родительскую" среду "дочернему" про- цессу.

-execvpe представляет собой функцию семейства exec..., которая передает массив указателей аргу- ментов, подсоединяет маршрут доступа PATH для по- иска "дочернего" процесса и применяет аргумент envp для выбора среды "дочернего" процесса.

Функция семейства exec... должна передавать "до- чернему" процессу хотя бы один аргумент (arg0 или argv[0]). Данный аргумент, по соглашению, предс- тавляет собой копию pathname. (Использование дру- гих значений для нулевого аргумента не будет ошиб- кой).

В системах DOS версий 3.X "дочерний" процесс может получить аргумент pathname; в более ранних версиях "дочерний" процесс не может использовать значение нулевого аргумента (arg0 или argn[0]).

При использовании суффикса l, арг0 обычно указыва- ет на pathname, а arg1, ..., argn указывают на строки символов, которые формируют новый список аргументов. Завершающий NULL, следующий за argn, обозначает конец списка. При использовании суффик- са e список назначенной среды передается с помощью аргумента envp. Данный аргумент является массивом из элементов типа char*. Каждый элемент указывает на символьную строку с нулевым окончанием формы:




Содержание  Назад  Вперед