Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 |
assertPodobá 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 _onexitvyprá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í |