_spawnlp
, _wspawnlp
Tworzy i wykonuje nowy proces.
Ważne
Tego interfejsu API nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.
Składnia
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
);
Parametry
mode
Tryb wykonywania dla procesu wywoływania.
cmdname
Ścieżka pliku do wykonania.
arg0
, , arg1
... argN
Lista wskaźników do argumentów. Argument arg0
jest zwykle wskaźnikiem do cmdname
. Argumenty arg1
przez argN
to wskaźniki do ciągów znaków tworzących nową listę argumentów. Po argN
znaku musi istnieć NULL
wskaźnik, aby oznaczyć koniec listy argumentów.
Wartość zwracana
Wartość zwracana z synchronicznego _spawnlp
lub _wspawnlp
(_P_WAIT
określonego dla mode
) jest stanem zakończenia nowego procesu. Wartość zwracana z asynchronicznego _spawnlp
lub _wspawnlp
(_P_NOWAIT
lub _P_NOWAITO
określonego dla mode
elementu ) jest dojściem procesu. Stan zakończenia to 0, jeśli proces zakończył się normalnie. Stan wyjścia można ustawić na wartość niezerową, jeśli proces zduplikowany wywołuje exit
procedurę z argumentem niezerowym. Jeśli nowy proces nie ustawił jawnie pozytywnego stanu zakończenia, dodatni stan zakończenia wskazuje nietypowe wyjście z przerwania lub przerwania. Wartość zwracana -1 wskazuje błąd (nowy proces nie został uruchomiony). W tym przypadku errno
parametr jest ustawiony na jedną z następujących wartości.
Wartość | Opis |
---|---|
E2BIG |
Lista argumentów przekracza 1024 bajty. |
EINVAL |
mode argument jest nieprawidłowy. |
ENOENT |
Nie można odnaleźć pliku lub ścieżki. |
ENOEXEC |
Określony plik nie jest wykonywalny lub ma nieprawidłowy format pliku wykonywalnego. |
ENOMEM |
Za mało pamięci do wykonania nowego procesu. |
Aby uzyskać więcej informacji na temat tych i innych kodów powrotnych, zobacz errno
, _doserrno
, _sys_errlist
i _sys_nerr
.
Uwagi
Każda z tych funkcji tworzy i wykonuje nowy proces, przekazując każdy argument wiersza polecenia jako oddzielny parametr i używając PATH
zmiennej środowiskowej w celu znalezienia pliku do wykonania.
Te funkcje weryfikują swoje parametry. Jeśli ciąg cmdname
lub arg0
jest pustym ciągiem lub wskaźnikiem o wartości null, te funkcje generują nieprawidłowy wyjątek parametru, zgodnie z opisem w temacie Walidacja parametru. Jeśli wykonywanie jest dozwolone do kontynuowania, te funkcje mają wartość errno
EINVAL
i zwracają wartość -1. Nie jest duplikowany żaden nowy proces.
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_spawnlp |
<process.h> |
_wspawnlp |
<stdio.h> lub <wchar.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
Zobacz przykład w _spawn
_wspawn
temacie , functions.
Zobacz też
Kontrola procesu i środowiska
_spawn
, _wspawn
funkcje
abort
atexit
_exec
, _wexec
funkcje
exit
, , _Exit
_exit
_flushall
_getmbcp
_onexit
, _onexit_m
_setmbcp
system
, _wsystem