_execl, _wexecl
Загружает и выполняет новые дочерние процессы.
Важно!
Этот API невозможно использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.
intptr_t _execl(
const char *cmdname,
const char *arg0,
... const char *argn,
NULL
);
intptr_t _wexecl(
const wchar_t *cmdname,
const wchar_t *arg0,
... const wchar_t *argn,
NULL
);
Параметры
cmdname
Путь к выполняемому файлу.arg0, ...argn
Список указателей на параметры.
Возвращаемое значение
Если успешно, эти функции не возвращают вызывающему процессу. Возвращаемое значение –1 означает ошибку, в соответствии с которой устанавливается глобальная переменная errno.
значение errno |
Описание |
---|---|
E2BIG |
Требуемое место для аргументов и параметров среды превышает 32 КБ. |
EACCES |
Указанный файл имеет блокировку или нарушение совместного использования. |
EINVAL |
Недопустимый параметр (один или несколько параметров являются нулевым указателем или пустой строкой). |
EMFILE |
Слишком много открытых файлов (указанный файл должен быть открыт чтобы определить, является ли он исполняемым). |
ENOENT |
Файл или путь не найден. |
ENOEXEC |
Указанный файл не является исполняемым или имеет недопустимый формат исполняемого файла. |
ENOMEM |
Недостаточно памяти для выполнения нового процесса; доступная память была повреждена;существует недопустимый блок, показывающий, что вызывающий процесс не был правильно размещен. |
Заметки
Каждая из этих функций загружает и выполняет новый процесс, передавая каждый аргумент командной строки в виде отдельного параметра. Первый аргумент — это имя команды или исполняемого файла, а второй аргумент должен быть таким же, как первый аргумент. Это будет argv[0] в запущенном процессе. Третий аргумент — это первый аргумент, argv[1], запущенного процесса.
Функции _execl проверяют их параметры. Если или cmdname, или arg0 — нулевой указатель или пустая строка, то эти функции вызывают обработчик недопустимого параметра, как описано в Проверка параметров, если выполнение может продолжиться, эти функции устанавливают errno в EINVAL и возвращают -1. Не начинается выполнение нового процесса.
Требования
Функция |
Обязательный заголовок |
Необязательный заголовок |
---|---|---|
_execl |
<process.h> |
<errno.h> |
_wexecl |
<process.h> или <wchar.h> |
<errno.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
См. пример в Функции _exec, _wexec.