wait4

WAIT4(2)                 Podręcznik programisty Linuksa                 WAIT4(2)



NAZWA
       wait3, wait4 - oczekiwanie na zakończenie procesu (styl BSD)

SKŁADNIA
       #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
        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:

       < -1   oznacza oczekiwanie na dowolnego potomka, którego identyfikator
              grupy procesów jest równy modułowi wartości pid.

       -1     co oznacza oczekiwanie na dowolny proces potomny; jest to
              równoważne wywołaniu wait3.

       0      oznacza oczekiwanie na dowolnego potomka, którego identyfikator
              grupy procesów jest równy identyfikatorowi procesu wołającego.

       > 0    oznacza oczekiwanie na potomka, którego PID jest równy wartości
              pid.

       Wartość argumentu opcje jest bitowym OR zera lub więcej spośród
       następujących stałych:

       WNOHANG
              oznacza zwrócenie wartości natychmiast w wypadku gdy nie ma
              potomka, na którego można by czekać.

       WUNTRACED
              oznacza również nieobsługiwanie zatrzymanych potomków oraz tych,
              których status nie został zgłoszony.

       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:

       WIFEXITED(status)
              jest niezerowe, gdy potomek zakończył pracę normalnie.

       WEXITSTATUS(status)
              wyraża ostatnich osiem znaczących bitów kodu powrotu zakończonego
              potomka (który mógł być ustawiony jako argument funkcji exit lub
              jako argument instrukcji return w programie głównym. Makro to może
              być przetwarzane tylko jeśli WIFEXITED zwróciło wartość niezerową.

       WIFSIGNALED(status)
              zwraca prawdę, jeśli potomek zakończył działanie z powodu
              nieprzechwyconego sygnału.

       WTERMSIG(status)
              zwraca numer sygnału, który spowodował zakończenie procesu
              potomnego.  Makro to może być wyliczane tylko po zwróceniu przez
              WIFSIGNALED wartości niezerowej.

       WIFSTOPPED(status)
              zwraca prawdę, jeśli proces potomny, który spowodował wyjście jest
              obecnie zatrzymany. Jest to możliwe tylko jeśli wywołanie wykonano
              z użyciem WUNTRACED.

       WSTOPSIG(status)
              zwraca numer sygnału, który spowodował zatrzymanie potomka. Makro
              to może być wyliczane tylko po zwróceniu przez WIFSTOPPED wartości
              niezerowej.

       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).

WARTOŚĆ ZWRACANA
       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.

BŁĘDY
       ECHILD Nie istnieje żaden odpowiedni proces potomny, na który można by
              oczekiwać.

       EINTR  Jeśli nie ustawiono WNOHANG a został przechwycony niezablokowany
              sygnał lub SIGCHLD.


       UWAGI  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).

ZGODNE Z
       SVr4, POSIX.1

ZOBACZ TAKŻE
       signal(2), getrusage(2), wait(2), signal(7)

INFORMACJE O TŁUMACZENIU
       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:

              man --locale=C 2 wait4

       Prosimy o pomoc w aktualizacji stron man - więcej informacji można
       znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.



Linux                              1997-06-23                           WAIT4(2)