_spawnlp, _wspawnlp
Создает и выполняет новый процесс.
Важно |
---|
Этот API нельзя использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /ZW. |
intptr_t _spawnlp(
int mode,
const char *cmdname,
const char *arg0,
const char *arg1,
... const char *argn,
NULL
);
intptr_t _wspawnlp(
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.Аргументы arg1 через argn указатели символьным строкам формируя новый список аргументов.После argn, должно быть указатель NULL, чтобы отметить конец списка аргументов.
Возвращаемое значение
Возвращаемое значение синхронного из _spawnlp или _wspawnlp(_P_WAIT), указанного параметром mode нового выхода состояние процесса.Возвращаемое значение в асинхронном _spawnlp или _wspawnlp (_P_NOWAIT или _P_NOWAITO, определенные для mode) процессу дескриптор.Состояние выхода значение 0, если процесс завершил обычно.Можно задать состояние выхода в ненулевому значению, если порожданный процесс, вызывает процедуру exit с безнулевым аргументом.Если новый процесс явно укажите положительное состояние выхода, положительное состояние передачи показывает анормалный выход с прекращением прерывания или прерыванием.Возвращаемое значение – 1 указывает на ошибку (не запущен новый процесс).В этом случае errno имеет одно из следующих значений.
E2BIG
Список аргументов превышает 1024 байт.EINVAL
аргумент mode является недопустимым.ENOENT
Файл или путь не найден.ENOEXEC
Указанный файл не исполнительн или имеет недопустимый формат исполняемого файла.ENOMEM
Недостаточно памяти доступен для нового процесса.
Дополнительные сведения об этих и других кодах возврата см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr.
Заметки
Каждая из этих функций создает и выполняет новый процесс, передав каждый аргумент командной строки в виде отдельного параметра и с помощью переменной среды PATH, чтобы найти файл для выполнения.
Эти функции проверяют их параметрами.Если cmdname или arg0 является пустой строкой или пустой указатель, эти функции создают исключение недопустимого параметра, как описано в разделе Проверка параметров.Если среда выполнения может продолжить, это функциями errno задается значение EINVAL и возвращением -1.Нет новый процесс не порождан.
Требования
Функция |
Требуемый заголовок |
---|---|
_spawnlp |
<process.h> |
_wspawnlp |
<stdio.h> или <wchar.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость во введении.
Пример
См. пример в разделе _spawn, функции _wspawn.