_execve
, _wexecve
Загружает и выполняет новые дочерние процессы.
Внимание
Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
intptr_t _execve(
const char *cmdname,
const char *const *argv,
const char *const *envp
);
intptr_t _wexecve(
const wchar_t *cmdname,
const wchar_t *const *argv,
const wchar_t *const *envp
);
Параметры
cmdname
Путь к выполняемому файлу.
argv
Массив указателей на параметры.
envp
Массив указателей на параметры среды.
Возвращаемое значение
В случае успешного выполнения эти функции не возвращаются в вызывающий процесс. Возвращаемое значение -1 указывает на ошибку, в котором errno
задана глобальная переменная.
Значение errno |
Description |
---|---|
E2BIG |
Пространство, требуемое для аргументов и параметров среды, превышает 32 КБ. |
EACCES |
Указанный файл имеет нарушение блокировки или общего доступа. |
EINVAL |
Недопустимый параметр . |
EMFILE |
Слишком много открытых файлов (указанный файл должен быть открыт, чтобы определить, является ли он исполняемым файлом). |
ENOENT |
Файл или путь не найдены. |
ENOEXEC |
Указанный файл не является исполняемым или имеет недопустимый формат исполняемого файла. |
ENOMEM |
Недостаточно памяти доступно для выполнения нового процесса; доступная память повреждена; или недопустимый блок, указывающий, что вызывающий процесс не был выделен должным образом. |
Дополнительные сведения об этих и других кодах возврата см. в разделе errno
, _doserrno
и _sys_nerr
_sys_errlist
.
Замечания
Каждая из этих функций загружает и выполняет новый процесс, передавая ему массив указателей на аргументы командной строки и массив указателей на параметры среды.
Функции _execve
и _wexecve
проверяют свои параметры. Эти функции вызывают обработчик недопустимых параметров, как описано в разделе "Проверка параметров", когда:
cmdname
является указателем null,argv
является указателем null или указателем на пустой массив.- Массив содержит пустую строку в качестве первого аргумента.
Если выполнение может продолжаться обработчиком, эти функции задают errno
значение EINVAL
и возвращают -1. Ни один процесс не запущен.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Требования
Function | Обязательный заголовок | Необязательный заголовок |
---|---|---|
_execve |
<process.h> | <errno.h> |
_wexecve |
<process.h> или <wchar.h> | <errno.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
См. пример в _exec
функциях. _wexec
См. также
Управление процессами и средой
_exec
, _wexec
функции
abort
atexit
exit
, , _Exit
_exit
_onexit
, _onexit_m
_spawn
, _wspawn
функции
system
, _wsystem