_spawnlp, _wspawnlp
Tworzy i uruchamia nowy proces.
Ważne |
---|
Tego API nie można używać w aplikacjach korzystających ze środowiska wykonawczego Windows.Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane przez /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
);
Parametry
mode
Tryb wykonywania dla procesu wywołującego.cmdname
Ścieżka pliku do wykonania.arg0, arg1, ... argn
Lista wskaźników do argumentów.arg0 Argument jest zazwyczaj wskaźnikiem cmdname.Argumenty arg1 przez argn są wskaźnikami do ciągów znaków tworzących nowe listy argumentów.Następujący argn musi być wskaźnikiem NULL, aby zaznaczyć koniec listy argumentów.
Wartość zwracana
Wartość zwrócona przez synchroniczny _spawnlp lub _wspawnlp (_P_WAIT określony dla mode) jest stanem wyjścia nowego procesu.Wartość zwrócona przez synchroniczny _spawnlp lub _wspawnlp (_P_NOWAIT lub _P_NOWAITO określony dla mode) jest stanem wyjścia procedury obsługi procesu.Stanem wyjścia wynosi 0, jeżeli proces zakończył się normalnie.Możesz ustawić stan wyjścia na wartość różną od zera jeśli zduplikowany proces w szczególności wywołuje exit rutynę z argumentem różnym od zera.Jeśli nowy proces nie ustawi jawnie stanu wyjścia na dodatni, dodatki stan wyjścia wskazuje nietypowe wyjście z porzuceniem lub przerwaniem.Zwracana wartość –1 wskazuje błąd (nowy proces nie jest uruchomiony).W tym przypadku errno jest ustawione na jedną z następujących wartości.
E2BIG
Argument w postaci listy przekracza 1024 bajty.EINVAL
Nieprawidłowy argument mode.ENOENT
Nie znaleziono pliku ani ścieżki.ENOEXEC
Określony plik nie jest wykonywalny lub ma nieprawidłowy format pliku wykonywalnego.ENOMEM
Za mało dostępnej pamięci do wykonania nowego procesu.
Aby uzyskać więcej informacji na temat tych i innych kodów zwrotu, zobacz _doserrno, errno, _sys_errlist, and _sys_nerr.
Uwagi
Każda z tych funkcji tworzy i uruchamia nowy proces, przekazując każdy argument wiersza polecenia jako oddzielny parametr i używając zmiennej środowiskowej PATH do znalezienia pliku do wykonania.
Te funkcje sprawdzają poprawność swoich parametrów.Jeśli cmdname lub arg0 jest pustym ciągiem lub wskaźnikiem typu null, funkcje te tworzą wyjątek nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może być kontynuowane, te funkcje ustawiają errno jako EINVAL i zwracają -1.Żaden nowy proces nie jest rozprzestrzeniony.
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
_spawnlp |
<Procesuj.h> |
_wspawnlp |
<stdio.h> lub <wchar.h> |
Aby uzyskać więcej informacji na temat zgodności – zobacz: Zgodność.
Przykład
Zobacz przykład w Funkcjach _spawn, _wspawn.