Provided by: manpages-pl-dev_0.7-2_all bug

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