Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создает и выполняет новый процесс.
Внимание
Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
intptr_t _spawnlpe(
int mode,
const char *cmdname,
const char *arg0,
const char *arg1,
... const char *argn,
NULL,
const char *const *envp
);
intptr_t _wspawnlpe(
int mode,
const wchar_t *cmdname,
const wchar_t *arg0,
const wchar_t *arg1,
... const wchar_t *argn,
NULL,
const wchar_t *const *envp
);
Параметры
mode
Режим выполнения для вызывающего процесса.
cmdname
Путь к выполняемому файлу.
arg0, , arg1... argN
Список указателей на аргументы. Аргумент arg0 обычно является указателем на параметр cmdname. Аргументы arg1–argN являются указателями на строки символов, которые образуют новый список аргументов. После argNдолжно следовать указатель NULL , отмечающий конец списка аргументов.
envp
Массив указателей на параметры среды.
Возвращаемое значение
Возвращаемое значение синхронных функций _spawnlpe или _wspawnlpe (для параметра _P_WAIT указано значение mode) — это состояние завершения нового процесса. Возвращаемое значение асинхронной функции _spawnlpe или _wspawnlpe (для параметра_P_NOWAIT указано значение _P_NOWAITO или mode) — это дескриптор процесса. Состояние выхода имеет значение 0, если процесс завершился обычным образом. Для состояния выхода можно задать ненулевое значение, если порожденный процесс использует ненулевой аргумент для вызова процедуры exit . Если новый процесс явно не установил положительное состояние выхода, то положительное состояние выхода указывает на ненормальный выход, вызванный прерыванием или прерыванием. Возвращаемое значение -1 указывает на ошибку (новый процесс не запущен). В этом случае errno имеет одно из следующих значений.
| значение | Описание |
|---|---|
E2BIG |
Длина списка аргументов превышает 1024 байта. |
EINVAL |
Недопустимый аргументmode . |
ENOENT |
Файл или путь не найден. |
ENOEXEC |
Указанный файл не является исполняемым или имеет недопустимый формат исполняемого файла. |
ENOMEM |
Недостаточно памяти для выполнения нового процесса. |
Дополнительные сведения об этих и других кодах возврата см. в разделе errno, _doserrnoи _sys_nerr_sys_errlist.
Замечания
Каждая из этих функций создает и выполняет новый процесс и передает каждый аргумент командной строки как отдельный параметр, а также передает массив указателей на параметры среды. Для поиска выполняемого файла в таких функциях используется переменная среды PATH.
Эти функции проверяют свои параметры. cmdname arg0 Если строка или пустая строка или пустой указатель, вызывается обработчик недопустимых параметров, как описано в разделе проверки параметров. Если продолжение выполнения разрешено, эти функции устанавливают для errno значение EINVALи возвращают -1. Нет порожденных новых процессов.
Требования
| Маршрут | Обязательный заголовок |
|---|---|
_spawnlpe |
<process.h> |
_wspawnlpe |
<stdio.h> или <wchar.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
См. пример в _spawnфункциях. _wspawn
См. также
Управление процессами и средой
_spawn, _wspawn функции
abort
atexit
_exec, _wexec функции
exit, , _Exit_exit
_flushall
_getmbcp
_onexit, _onexit_m
_setmbcp
system, _wsystem