WAIT4(2) | Podręcznik programisty Linuksa | WAIT4(2) |
wait3, wait4 - oczekiwanie na zakończenie procesu (styl BSD)
#include <sys/types.h> #include <sys/time.h> #include <sys/resource.h> #include <sys/wait.h> pid_t wait3(int *status, int opcje, struct rusage *ruzycie); pid_t wait4(pid_t pid, int *status, int opcje, struct rusage *ruzycie);
Uwaga! To tłumaczenie może być nieaktualne!
Funkcja wait3 zawiesza wykonywanie bieżącego procesu aż jego potomek nie zakończy działania, lub aż nie zostanie dostarczony sygnał, którego akcją jest zakończenie bieżącego procesu lub wywołanie funkcji obsługi sygnału. Jeśli potomek zakończył działanie przed wywołaniem tej funkcji (tzw. "zombie" - proces duch), zakończy ona działanie natychmiast. Wszelkie zasoby systemowe używane przez potomka są zwalniane.
Funkcja wait4 zawiesza wykonywanie bieżącego procesu aż potomek, określony przez argument pid nie zakończy działania, lub aż nie zostanie dostarczony sygnał, którego akcją jest zakończenie bieżącego procesu lub wywołanie funkcji obsługi sygnału. Jeśli potomek określony przez pid już zakończył działanie (proces duch), funkcja kończy działanie natychmiast. Wszelkie zasoby systemowe używane przez potomka są zwalniane.
Wartość pid może być jednym z:
Wartość argumentu opcje jest bitowym OR zera lub więcej spośród następujących stałych:
Jeśli status nie wynosi NULL, wait3 i wait4 zapisują w miejscu wskazywanym przez status informacje o stanie.
Stan ten może być określony za pomocą następujących makr (pobierających jako argument bufor stanu (wartość int), — nie wskaźnik do tego bufora:
Jeśli ruzycie nie jest równe NULL, zdefiniowana w <sys/resource.h> struktura struct rusage, na którą ruzycie wskazuje, zostanie wypełniona informacjami o wykorzystywaniu zasobów. Szczegóły znajdują się w getrusage(2).
Identyfikator zakończonego procesu lub -1 w przypadku błędu (w szczególności, gdy nie istnieje proces potomny zadanego rodzaju, na który można by oczekiwać), lub zero jeśli użyto WNOHANG i nie był dostępny żaden potomek. W ostatnich dwóch przypadkach zostanie odpowiednio ustawione errno.
Dołączenie <sys/time.h> nie jest obecnie wymagane, lecz zwiększa przenośność. (Faktycznie, <sys/resource.h> zawiera definje struktury rusage z polami typu struct timeval zdefiniowanego w <sys/time.h>.)
Prototyp dla tych funkcji jest dostępny jedynie, gdy zdefiniowano _BSD_SOURCE (jawnie lub pośrednio, nie definiując _POSIX_SOURCE lub kompilując z opcją -ansi).
SVr4, POSIX.1
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.
1997-06-23 | Linux |