_spawnlp
, _wspawnlp
Vytvoří a spustí nový proces.
Důležité
Toto rozhraní API nelze použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.
Syntaxe
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
Režim spuštění pro volající proces.
cmdname
Cesta k souboru, který se má spustit.
arg0
, arg1
... argN
Seznam ukazatelů na argumenty Argument arg0
je obvykle ukazatel na cmdname
. Argumenty arg1
jsou argN
ukazatele na řetězce znaků tvořící nový seznam argumentů. V následujícím argN
příkladu NULL
musí být ukazatel, který označí konec seznamu argumentů.
Vrácená hodnota
Návratová hodnota ze synchronního _spawnlp
nebo _wspawnlp
(_P_WAIT
zadaného pro mode
) je stav ukončení nového procesu. Návratová hodnota z asynchronního _spawnlp
nebo _wspawnlp
(_P_NOWAIT
nebo _P_NOWAITO
zadaného pro mode
) je popisovač procesu. Stav ukončení je 0, pokud se proces normálně ukončil. Stav ukončení můžete nastavit na nenulovou hodnotu, pokud vytvářený proces konkrétně volá rutinu exit
s nenulovým argumentem. Pokud nový proces explicitně nenastavil pozitivní stav ukončení, bude pozitivní stav ukončení indikovat abnormální ukončení s přerušením nebo přerušením. Vrácená hodnota -1 označuje chybu (nový proces není spuštěn). V tomto případě errno
je nastavena na jednu z následujících hodnot.
Hodnota | Popis |
---|---|
E2BIG |
Seznam argumentů překračuje 1024 bajtů. |
EINVAL |
mode argument je neplatný. |
ENOENT |
Soubor nebo cesta se nenašly. |
ENOEXEC |
Zadaný soubor není spustitelný nebo má neplatný formát spustitelného souboru. |
ENOMEM |
K provedení nového procesu není k dispozici dostatek paměti. |
Další informace o těchto a dalších návratových kódech naleznete v tématu , , , a_sys_nerr
. _sys_errlist
_doserrno
errno
Poznámky
Každá z těchto funkcí vytvoří a spustí nový proces, který předá každý argument příkazového řádku jako samostatný parametr a pomocí PATH
proměnné prostředí vyhledá soubor, který se má spustit.
Tyto funkce ověřují své parametry. Pokud je buď cmdname
prázdný řetězec nebo arg0
ukazatel null, tyto funkce generují neplatnou výjimku parametru, jak je popsáno v ověření parametru. Pokud provádění může pokračovat, tyto funkce jsou nastavené errno
na EINVAL
hodnotu a vrátí hodnotu -1. Není vytvářen žádný nový proces.
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_spawnlp |
<process.h> |
_wspawnlp |
<stdio.h> nebo <wchar.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
Podívejte se na příklad ve _spawn
funkcích . _wspawn
Viz také
Řízení procesů a prostředí
_spawn
, _wspawn
funkce
abort
atexit
_exec
, _wexec
funkce
exit
, , _Exit
_exit
_flushall
_getmbcp
_onexit
, _onexit_m
_setmbcp
system
, _wsystem