Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
wait3, wait4 - oczekiwanie na zakoczenie procesu (styl BSD)
SK/LADNIA
#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);
OPIS
Funkcja wait3 zawiesza wykonywanie biecego procesu a jego potomek nie
zakoczy dzialania, lub a nie zostanie dostarczony sygnal, ktorego akcj
jest zakoczenie biecego procesu lub wywolanie funkcji obslugi sygnalu.
Jeli potomek zakoczyl dzialanie przed wywolaniem tej funkcji (tzw.
"zombie" - proces duch), zakoczy ona dzialanie natychmiast. Wszelkie
zasoby systemowe uywane przez potomka s zwalniane.
Funkcja wait4 zawiesza wykonywanie biecego procesu a potomek, okrelony
przez argument pid nie zakoczy dzialania, lub a nie zostanie
dostarczony sygnal, ktorego akcj jest zakoczenie biecego procesu lub
wywolanie funkcji obslugi sygnalu. Jeli potomek okrelony przez pid ju
zakoczyl dzialanie (proces duch), funkcja koczy dzialanie natychmiast.
Wszelkie zasoby systemowe uywane przez potomka s zwalniane.
Warto pid moe by jednym z:
< -1 oznacza oczekiwanie na dowolnego potomka, ktorego identyfikator
grupy procesow jest rowny modulowi wartoci pid.
-1 co oznacza oczekiwanie na dowolny proces potomny; jest to
rownowane wywolaniu wait3.
0 oznacza oczekiwanie na dowolnego potomka, ktorego identyfikator
grupy procesow jest rowny identyfikatorowi procesu wolajcego.
> 0 oznacza oczekiwanie na potomka, ktorego PID jest rowny wartoci
pid.
Warto argumentu opcje jest bitowym OR zera lub wicej sporod nastpujcych
stalych:
WNOHANG
oznacza zwrocenie wartoci natychmiast w wypadku gdy nie ma
potomka, na ktorego mona by czeka.
WUNTRACED
oznacza rownie nieobslugiwanie zatrzymanych potomkow oraz tych,
ktorych status nie zostal zgloszony.
Jeli status nie wynosi NULL, wait3 i wait4 zapisuj w miejscu
wskazywanym przez status informacje o stanie.
Stan ten moe by okrelony za pomoc nastpujcych makr (pobierajcych jako
argument bufor stanu (warto int), -- nie wskanik do tego bufora:
WIFEXITED(status)
jest niezerowe, gdy potomek zakoczyl prac normalnie.
WEXITSTATUS(status)
wyraa ostatnich osiem znaczcych bitow kodu powrotu zakoczonego
potomka (ktory mogl by ustawiony jako argument funkcji exit lub
jako argument instrukcji return w programie glownym. Makro to
moe by przetwarzane tylko jeli WIFEXITED zwrocilo warto
niezerow.
WIFSIGNALED(status)
zwraca prawd, jeli potomek zakoczyl dzialanie z powodu
nieprzechwyconego sygnalu.
WTERMSIG(status)
zwraca numer sygnalu, ktory spowodowal zakoczenie procesu
potomnego. Makro to moe by wyliczane tylko po zwroceniu przez
WIFSIGNALED wartoci niezerowej.
WIFSTOPPED(status)
zwraca prawd, jeli proces potomny, ktory spowodowal wyjcie jest
obecnie zatrzymany. Jest to moliwe tylko jeli wywolanie wykonano
z uyciem WUNTRACED.
WSTOPSIG(status)
zwraca numer sygnalu, ktory spowodowal zatrzymanie potomka.
Makro to moe by wyliczane tylko po zwroceniu przez WIFSTOPPED
wartoci niezerowej.
Jeli ruzycie nie jest rowne NULL, zdefiniowana w <sys/resource.h>
struktura struct rusage, na ktor ruzycie wskazuje, zostanie wypelniona
informacjami o wykorzystywaniu zasobow. Szczegoly znajduj si w
getrusage(2).
WARTO ZWRACANA
Identyfikator zakoczonego procesu lub -1 w przypadku bldu (w
szczegolnoci, gdy nie istnieje proces potomny zadanego rodzaju, na
ktory mona by oczekiwa), lub zero jeli uyto WNOHANG i nie byl dostpny
aden potomek. W ostatnich dwoch przypadkach zostanie odpowiednio
ustawione errno.
B/LDY
ECHILD Nie istnieje aden odpowiedni proces potomny, na ktory mona by
oczekiwa.
EINTR Jeli nie ustawiono WNOHANG a zostal przechwycony niezablokowany
sygnal lub SIGCHLD.
UWAGI Dolczenie <sys/time.h> nie jest obecnie wymagane, lecz zwiksza
przenono. (Faktycznie, <sys/resource.h> zawiera definje
struktury rusage z polami typu struct timeval zdefiniowanego w
<sys/time.h>.)
Prototyp dla tych funkcji jest dostpny jedynie, gdy zdefiniowano
_BSD_SOURCE (jawnie lub porednio, nie definiujc _POSIX_SOURCE lub
kompilujc z opcj -ansi).
ZGODNE Z
SVr4, POSIX.1
ZOBACZ TAKE
signal(2), getrusage(2), wait(2), signal(7)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.