Точка присутствует; поиск производится только
- Точка присутствует; поиск производится только по имени файла - без расширения.
- Если path не содержит имени директории, то фун- кции spawn... с суффиксом p производят поиск в текущей директории, а затем в директориях, ука- занных в переменной окружения PATH.
Суффиксы, добавляемые к имени функции spawn... (l, v, p, e) отражают некоторые особенности рабо- ты функций:
p - означает, что функция будет искать дочерний процесс в директориях, определяемых перемен- ной операционной среды системы DOS-PATH. Без задания суффикса p функция будет искать файл только в текущей рабочей директории.
l - означает, что аргументы-указатели arg0, arg1, ... argn передаются, как отдельные аргументы. Обычно, суффикс l применяется, когда количес- тво передаваемых аргументов известно заранее.
v - означает, что аргументы-указатели передаются в виде массива указателей: argv[0], ...argv[n]. Обычно суффикс v употребляется при переменном числе аргументов.
e - обозначает, что дочернему процессу может быть передан аргумент envp, что позволяет менять операционную среду дочернего процесса. Без суффикса e дочерний процесс наследует опера- ционную среду родительского процесса.
Каждая функция семейства spawn... должна иметь один из двух суффиксов l или v. Суффиксы p и e необязательны.
Например:
- функция с именем spawnl - это функция семейства spawn..., принимающая отдельные аргументы, осу- ществляющая поиск файла дочернего процесса в корневой или рабочей директории и передающей дочернему процессу операционную среду родитель- ского процесса.
- Функция spawnvpe - это функция семейства spawn..., которая принимает массив аргумен- тов-указателей, применяет параметр среды PATH для поиска файла дочернего процесса и передает ему параметр envp, позволяющий ему изменить свою операционную среду.
Функции семейства spawn... должны передавать до- чернему процессу по крайней мере один аргумент (arg0 или argv[0]). По соглашению данным аргумен- том является копия параметра pathname. (Использо- вание для данного нулевого аргумента других зна- чений не вызовет ошибку). В версиях операционной системы DOS 3.0 и выше поддерживается аргумент pathname. В более ранних версиях не может использоваться значение нулевого аргумента (arg0 или argv[0]).
Содержание Назад Вперед