Řízení procesů a prostředí
Rutiny řízení procesů slouží ke spouštění, zastavování a správě procesů v rámci programu. Rutiny řízení prostředí slouží k získání a změně informací o prostředí operačního systému.
Funkce řízení procesů a prostředí
Rutina | Používání |
---|---|
abort |
Přerušený proces bez vyprázdnění vyrovnávacích pamětí nebo volání funkcí registrovaných atexit _onexit |
assert |
Test chyby logiky |
_ASSERT , _ASSERTE makra |
assert Podobá se , ale k dispozici pouze v ladicích verzích knihoven za běhu |
atexit |
Plánování rutin pro provádění při ukončení programu |
_beginthread , _beginthreadex |
Vytvoření nového vlákna v procesu operačního systému Windows |
_cexit |
Proveďte exit postupy ukončení (například vyrovnávací paměti pro vyprázdnění) a vraťte řízení do volajícího programu bez ukončení procesu. |
_c_exit |
Proveďte _exit postupy ukončení a pak vraťte řízení do volajícího programu bez ukončení procesu. |
_cwait |
Počkejte na ukončení jiného procesu. |
_endthread , _endthreadex |
Ukončení vlákna operačního systému Windows |
_execl , _wexecl |
Spuštění nového procesu se seznamem argumentů |
_execle , _wexecle |
Spuštění nového procesu se seznamem argumentů a daným prostředím |
_execlp , _wexeclp |
Spuštění nového procesu pomocí PATH proměnné a seznamu argumentů |
_execlpe , _wexeclpe |
Spuštění nového procesu pomocí PATH proměnné, daného prostředí a seznamu argumentů |
_execv , _wexecv |
Spuštění nového procesu s polem argumentů |
_execve , _wexecve |
Spuštění nového procesu s polem argumentů a daným prostředím |
_execvp , _wexecvp |
Spuštění nového procesu pomocí PATH proměnné a pole argumentů |
_execvpe , _wexecvpe |
Spuštění nového procesu pomocí PATH proměnné, daného prostředí a pole argumentů |
exit |
Volání funkcí registrovaných atexit a _onexit vyprázdnění všech vyrovnávacích pamětí, zavření všech otevřených souborů a ukončení procesu |
_exit |
Ukončit proces okamžitě bez volání atexit nebo _onexit vyprázdnění vyrovnávacích pamětí |
getenv , _wgetenv , , getenv_s _wgetenv_s |
Získání hodnoty proměnné prostředí |
_getpid |
Získání čísla ID procesu |
longjmp |
Obnovení uloženého prostředí zásobníku; použijte ho ke spuštění nelokálového goto |
_onexit |
Plánování rutin pro provádění při ukončení programu; použití pro kompatibilitu s Microsoft C/C++ verze 7.0 a starší |
_pclose |
Počkejte na nový procesor příkazů a ukončete datový proud na přidruženém kanálu. |
perror , _wperror |
Tisk chybové zprávy |
_pipe |
Vytvoření kanálu pro čtení a zápis |
_popen , _wpopen |
Vytvoření kanálu a spuštění příkazu |
_putenv , _wputenv , , _putenv_s _wputenv_s |
Přidání nebo změna hodnoty proměnné prostředí |
raise |
Odeslání signálu do volajícího procesu |
setjmp |
Ukládání prostředí zásobníku; použití ke spuštění jiného než místního prostředí goto |
signal |
Zpracování signálu přerušení |
_spawnl , _wspawnl |
Vytvoření a spuštění nového procesu se zadaným seznamem argumentů |
_spawnle , _wspawnle |
Vytvoření a spuštění nového procesu se zadaným seznamem argumentů a prostředím |
_spawnlp , _wspawnlp |
Vytvoření a spuštění nového procesu pomocí PATH proměnné a zadaného seznamu argumentů |
_spawnlpe , _wspawnlpe |
Vytvoření a spuštění nového procesu pomocí PATH proměnné, zadaného prostředí a seznamu argumentů |
_spawnv , _wspawnv |
Vytvoření a spuštění nového procesu se zadaným polem argumentů |
_spawnve , _wspawnve |
Vytvoření a spuštění nového procesu se zadaným prostředím a polem argumentů |
_spawnvp , _wspawnvp |
Vytvoření a spuštění nového procesu pomocí PATH proměnné a zadaného pole argumentů |
_spawnvpe , _wspawnvpe |
Vytvoření a spuštění nového procesu pomocí PATH proměnné, zadaného prostředí a pole argumentů |
system , _wsystem |
Spuštění příkazu operačního systému |
V operačním systému Windows je vytvářený proces ekvivalentní procesu vytváření. Jakýkoli proces může použít _cwait
k čekání na jakýkoli jiný proces, pro který je ID procesu známé.
Rozdíl mezi rodinami _exec
a _spawn
rodinami spočívá v tom, že _spawn
funkce může vrátit řízení z nového procesu do volajícího procesu. _spawn
Ve funkci se volající proces i nový proces nacházejí v paměti, pokud _P_OVERLAY
není zadán. _exec
Ve funkci překryje nový proces volající proces, takže se ovládací prvek nemůže vrátit do volajícího procesu, pokud nedojde k chybě při pokusu o spuštění nového procesu.
Rozdíly mezi funkcemi a _exec
_spawn
rodinami zahrnují metodu vyhledání souboru, který se má provést jako nový proces, formulář, ve kterém jsou argumenty předány novému procesu, a metoda nastavení prostředí, jak je znázorněno v následující tabulce. Funkce, která předává seznam argumentů, pokud je počet argumentů konstantní nebo je znám v době kompilace. Použijte funkci, která předá ukazatel na pole obsahující argumenty, pokud se má určit počet argumentů za běhu. Informace v následující tabulce platí také pro širokoznakové protějšky _spawn
funkcí a _exec
funkcí.
_spawn
a _exec
rodiny funkcí
Funkce | Vyhledání souboru pomocí PATH proměnné |
Konvence předávání argumentů | Nastavení prostředí |
---|---|---|---|
_execl , _spawnl |
No | List | Zděděno z procesu volání |
_execle , _spawnle |
No | List | Ukazatel na tabulku prostředí pro nový proces předaný jako poslední argument |
_execlp , _spawnlp |
Ano | List | Zděděno z procesu volání |
_execvpe , _spawnvpe |
Ano | Pole | Ukazatel na tabulku prostředí pro nový proces předaný jako poslední argument |
_execlpe , _spawnlpe |
Ano | List | Ukazatel na tabulku prostředí pro nový proces předaný jako poslední argument |
_execv , _spawnv |
No | Pole | Zděděno z procesu volání |
_execve , _spawnve |
No | Pole | Ukazatel na tabulku prostředí pro nový proces předaný jako poslední argument |
_execvp , _spawnvp |
Ano | Pole | Zděděno z procesu volání |