Поделиться через


_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