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


_execvpe, _wexecvpe

Загружает и выполняет новые дочерние процессы.

Важно!

Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.

Синтаксис

intptr_t _execvpe(
   const char *cmdname,
   const char *const *argv,
   const char *const *envp
);
intptr_t _wexecvpe(
   const wchar_t *cmdname,
   const wchar_t *const *argv,
   const wchar_t *const *envp
);

Параметры

cmdname
Путь к выполняемому файлу.

argv
Массив указателей на параметры.

envp
Массив указателей на параметры среды.

Возвращаемое значение

В случае успешного выполнения эти функции не возвращаются в вызывающий процесс. Возвращаемое значение -1 указывает на ошибку, в котором errno задана глобальная переменная.

Значение errno Description
E2BIG Пространство, требуемое для аргументов и параметров среды, превышает 32 КБ.
EACCES Указанный файл имеет нарушение блокировки или общего доступа.
EMFILE Слишком много открытых файлов. (Указанный файл должен быть открыт, чтобы определить, является ли он исполняемым.)
ENOENT Файл или путь не найден.
ENOEXEC Указанный файл не является исполняемым или имеет недопустимый формат исполняемого файла.
ENOMEM Недостаточно памяти доступно для выполнения нового процесса; доступная память повреждена; или недопустимый блок существует, который указывает, что вызывающий процесс не был выделен правильно.

Дополнительные сведения об этих и других кодах возврата см. в разделе errno, _doserrnoи _sys_nerr_sys_errlist.

Замечания

Каждая из этих функций создает и выполняет новый процесс, передавая ему массив указателей на аргументы командной строки и массив указателей на параметры среды. Для поиска выполняемого файла в таких функциях используется переменная среды PATH.

Эти функции _execvpe проверяют свои параметры. Эти функции вызывают обработчик недопустимых параметров, как описано в разделе "Проверка параметров", когда:

  • cmdname является указателем null,
  • argv является указателем null или указателем на пустой массив.
  • Массив содержит пустую строку в качестве первого аргумента.

Если выполнение может продолжаться обработчиком, эти функции задают errno значение EINVALи возвращают -1. Ни один процесс не запущен.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Функция Обязательный заголовок Необязательный заголовок
_execvpe <process.h> <errno.h>
_wexecvpe <process.h> или <wchar.h> <errno.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

См. пример в _execфункциях. _wexec

См. также

Управление процессами и средой
_exec, _wexec функции
abort
atexit
exit, _Exit, _exit
_onexit, _onexit_m
_spawn, _wspawn функции
system, _wsystem