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


_spawnl, _wspawnl

Создает и выполняет новый процесс.

Важно!

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

Синтаксис

intptr_t _spawnl(
   int mode,
   const char *cmdname,
   const char *arg0,
   const char *arg1,
   ... const char *argn,
   NULL
);
intptr_t _wspawnl(
   int mode,
   const wchar_t *cmdname,
   const wchar_t *arg0,
   const wchar_t *arg1,
   ... const wchar_t *argn,
   NULL
);

Параметры

mode
Режим выполнения для вызывающего процесса.

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

arg0, arg1, ... argN
Список указателей на аргументы. Аргумент arg0 обычно является указателем на параметр cmdname. Аргументы arg1argN являются указателями на строки символов, которые образуют новый список аргументов. После argNдолжно следовать указатель NULL , отмечающий конец списка аргументов.

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

Возвращаемое значение синхронных функций _spawnl или _wspawnl (для параметра _P_WAIT указано значение mode) — это состояние завершения нового процесса. Возвращаемое значение асинхронной функции _spawnl или _wspawnl (для параметра_P_NOWAIT указано значение _P_NOWAITO или mode) — это дескриптор процесса. Состояние выхода имеет значение 0, если процесс завершился обычным образом. Для состояния выхода можно задать ненулевое значение, если порожденный процесс специально вызывает процедуру exit с ненулевым аргументом. Если новый процесс явно не установил положительное состояние выхода, то положительное состояние выхода указывает на ненормальный выход с прерыванием или прерыванием. Возвращаемое значение -1 указывает на ошибку (новый процесс не запущен). В этом случае errno имеет одно из следующих значений.

значение Description
E2BIG Длина списка аргументов превышает 1024 байта.
EINVAL Недопустимый аргументmode .
ENOENT Файл или путь не найден.
ENOEXEC Указанный файл не является исполняемым или имеет недопустимый формат исполняемого файла.
ENOMEM Недостаточно памяти для выполнения нового процесса.

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

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

Замечания

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

Требования

Маршрут Обязательный заголовок
_spawnl <process.h>
_wspawnl <stdio.h> или <wchar.h>

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

Пример

См. пример в _spawnфункциях. _wspawn

См. также

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