Procedury kontroli środowiska

Procedury sterowania procesami umożliwiają uruchamianie, zatrzymywanie i zarządzanie procesami z poziomu programu. Użyj procedur kontroli środowiska, aby uzyskać i zmienić informacje o środowisku systemu operacyjnego.

Funkcje sterowania procesami i środowiskiem

Procedura Używanie
abort Przerywanie procesu bez opróżniania buforów lub wywoływania funkcji zarejestrowanych przez atexit i _onexit
assert Testowanie błędu logiki
_ASSERT, _ASSERTE makra Podobnie jak assertw systemie , ale dostępne tylko w wersjach debugowania bibliotek czasu wykonywania
atexit Planowanie procedur wykonywania po zakończeniu programu
_beginthread, _beginthreadex Tworzenie nowego wątku w procesie systemu operacyjnego Windows
_cexit Wykonywanie exit procedur zakończenia (takich jak opróżnianie buforów), a następnie powrót kontroli do programu wywołującego bez przerywania procesu
_c_exit Wykonywanie _exit procedur kończenia, a następnie zwracanie kontroli do programu wywołującego bez przerywania procesu
_cwait Poczekaj na zakończenie innego procesu
_endthread, _endthreadex Kończenie wątku systemu operacyjnego Windows
_execl, _wexecl Wykonaj nowy proces z listą argumentów
_execle, _wexecle Wykonaj nowy proces z listą argumentów i danym środowiskiem
_execlp, _wexeclp Wykonywanie nowego procesu przy użyciu PATH zmiennej i listy argumentów
_execlpe, _wexeclpe Wykonywanie nowego procesu przy użyciu PATH zmiennej, danego środowiska i listy argumentów
_execv, _wexecv Wykonywanie nowego procesu z tablicą argumentów
_execve, _wexecve Wykonaj nowy proces z tablicą argumentów i danym środowiskiem
_execvp, _wexecvp Wykonywanie nowego procesu przy użyciu PATH zmiennej i tablicy argumentów
_execvpe, _wexecvpe Wykonywanie nowego procesu przy użyciu PATH zmiennej, danego środowiska i tablicy argumentów
exit Wywoływanie funkcji zarejestrowanych przez atexit i _onexit, opróżnianie wszystkich buforów, zamykanie wszystkich otwartych plików i kończenie procesu
_exit Zakończ proces natychmiast bez wywoływania atexit lub _onexit opróżniania buforów
getenv, _wgetenv, getenv_s, _wgetenv_s Pobieranie wartości zmiennej środowiskowej
_getpid Pobieranie numeru identyfikatora procesu
longjmp Przywracanie zapisanego środowiska stosu; użyj go, aby wykonać nielokalny goto
_onexit Planowanie procedur wykonywania po zakończeniu programu; używanie w celu zachowania zgodności z programem Microsoft C/C++ w wersji 7.0 lub starszej
_pclose Poczekaj na nowy procesor poleceń i zamknij strumień na skojarzonym potoku
perror, _wperror Komunikat o błędzie drukowania
_pipe Tworzenie potoku do odczytu i zapisu
_popen, _wpopen Tworzenie potoku i wykonywanie polecenia
_putenv, _wputenv, _putenv_s, _wputenv_s Dodawanie lub zmienianie wartości zmiennej środowiskowej
raise Wysyłanie sygnału do procesu wywoływania
setjmp Zapisz środowisko stosu; użyj polecenia , aby wykonać nielokacyjną goto
signal Sygnał przerwania obsługi
_spawnl, _wspawnl Tworzenie i wykonywanie nowego procesu z określoną listą argumentów
_spawnle, _wspawnle Tworzenie i wykonywanie nowego procesu z określoną listą argumentów i środowiskiem
_spawnlp, _wspawnlp Tworzenie i wykonywanie nowego procesu przy użyciu PATH zmiennej i określonej listy argumentów
_spawnlpe, _wspawnlpe Tworzenie i wykonywanie nowego procesu przy użyciu PATH zmiennej, określonego środowiska i listy argumentów
_spawnv, _wspawnv Tworzenie i wykonywanie nowego procesu z określoną tablicą argumentów
_spawnve, _wspawnve Tworzenie i wykonywanie nowego procesu przy użyciu określonego środowiska i tablicy argumentów
_spawnvp, _wspawnvp Tworzenie i wykonywanie nowego procesu przy użyciu PATH zmiennej i określonej tablicy argumentów
_spawnvpe, _wspawnvpe Tworzenie i wykonywanie nowego procesu przy użyciu PATH zmiennej, określonego środowiska i tablicy argumentów
system, _wsystem Wykonywanie polecenia systemu operacyjnego

W systemie operacyjnym Windows proces zduplikowany jest odpowiednikiem procesu tarła. Dowolny proces może służyć _cwait do oczekiwania na dowolny inny proces, dla którego jest znany identyfikator procesu.

Różnica między _exec rodzinami i _spawn polega na tym, że _spawn funkcja może zwrócić kontrolę z nowego procesu do procesu wywołującego. _spawn W funkcji zarówno proces wywołujący, jak i nowy proces są obecne w pamięci, chyba że _P_OVERLAY zostanie określony. _exec W funkcji nowy proces nakłada proces wywołujący, więc kontrolka nie może powrócić do procesu wywołującego, chyba że wystąpi błąd podczas próby rozpoczęcia wykonywania nowego procesu.

Różnice między funkcjami w _exec rodzinach i _spawn obejmują metodę lokalizowania pliku do wykonania jako nowy proces, formularz, w którym argumenty są przekazywane do nowego procesu, oraz metodę ustawiania środowiska, jak pokazano w poniższej tabeli. Użyj funkcji, która przekazuje listę argumentów, gdy liczba argumentów jest stała lub jest znana w czasie kompilacji. Użyj funkcji, która przekazuje wskaźnik do tablicy zawierającej argumenty, gdy liczba argumentów ma zostać określona w czasie wykonywania. Informacje przedstawione w poniższej tabeli dotyczą również szerokich _spawn odpowiedników funkcji i _exec .

_spawn i _exec rodziny funkcji

Funkcje Lokalizowanie pliku przy użyciu PATH zmiennej Konwencja przekazywania argumentów Ustawienia środowiska
_execl, _spawnl Nie. List Dziedziczony z procesu wywoływania
_execle, _spawnle Nie. List Wskaźnik do tabeli środowiska dla nowego procesu przekazanego jako ostatni argument
_execlp, _spawnlp Tak List Dziedziczony z procesu wywoływania
_execvpe, _spawnvpe Tak Tablica Wskaźnik do tabeli środowiska dla nowego procesu przekazanego jako ostatni argument
_execlpe, _spawnlpe Tak List Wskaźnik do tabeli środowiska dla nowego procesu przekazanego jako ostatni argument
_execv, _spawnv Nie. Tablica Dziedziczony z procesu wywoływania
_execve, _spawnve Nie. Tablica Wskaźnik do tabeli środowiska dla nowego procesu przekazanego jako ostatni argument
_execvp, _spawnvp Tak Tablica Dziedziczony z procesu wywoływania

Zobacz też

Procedury czasu wykonywania języka Universal C według kategorii