Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       wait3, wait4 - oczekuje na zmianę stanu (styl BSD)

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <sys/wait.h>

       pid_t wait3(int *_Nullable wstatus, int options,
                   struct rusage *_Nullable rusage);
       pid_t wait4(pid_t pid, int *_Nullable wstatus, int options,
                   struct rusage *_Nullable rusage);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       wait3():
           Od glibc 2.26:
               _DEFAULT_SOURCE
                   || (_XOPEN_SOURCE >= 500 &&
                       ! (_POSIX_C_SOURCE >= 200112L
                          || _XOPEN_SOURCE >= 600))
           Od glibc 2.19 do glibc 2.25:
               _DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
           glibc 2.19 i wcześniejsze:
               _BSD_SOURCE || _XOPEN_SOURCE >= 500

       wait4():
           Od glibc 2.19:
               _DEFAULT_SOURCE
           glibc 2.19 i wcześniejsze:
               _BSD_SOURCE

OPIS

       Funkcje  te  są niestandardowe, w nowych programach preferuje się korzystanie z waitpid(2)
       lub waitid(2).

       Wywołania systemowe wait3() i wait4() są podobne do waitpid(2),  lecz  dodatkowo  zwracają
       informacje o użyciu zasobów przez potomka, w strukturze, na którą wskazuje rusage.

       Poza korzystaniem z argumentu rusage, następujące wywołanie wait3():

           wait3(wstatus, options, rusage);

       jest równoważne:

           waitpid(-1, wstatus, options);

       Podobnie, poniższe wywołanie wait4():

           wait4(pid, wstatus, options, rusage);

       jest równoważne:

           waitpid(pid, wstatus, options);

       Innymi  słowy,  wait3()  oczekuje  na  dowolnego  potomka, natomiast wait4() można użyć do
       wybrania konkretnego potomka lub potomków,  na  których  wywołanie  ma  oczekiwać.  Więcej
       informacji w podręczniku wait(2).

       Jeśli  rusage  nie  jest równe NULL, to struktura struct rusage, na którą rusage wskazuje,
       zostanie wypełniona  informacjami  o  wykorzystywaniu  zasobów  przez  potomka.  Szczegóły
       znajdują się w podręczniku getrusage(2).

WARTOŚĆ ZWRACANA

       Jak w waitpid(2).

BŁĘDY

       Jak w waitpid(2).

STANDARDY

       Brak.

HISTORIA

       4.3BSD.

       SUSv1   określało   wait3();   SUSv2   określało   wait3(),   lecz  z  oznaczeniem  LEGACY
       (przestarzałe); usunięte w SUSv3.

       Dołączenie <sys/time.h> nie jest obecnie wymagane, lecz zwiększa przenośność. (Faktycznie,
       <sys/resource.h>   zawiera  definicje  struktury  rusage  z  polami  typu  struct  timeval
       zdefiniowanego w <sys/time.h>).

   Różnice biblioteki C/jądra
       W Linuksie, wait3() jest funkcją biblioteczną  zaimplementowaną  na  wywołaniu  systemowym
       wait4().

ZOBACZ TAKŻE

       fork(2), getrusage(2), sigaction(2), signal(2), wait(2), signal(7)

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony  podręcznika  są:  Przemek  Borys
       <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i  Michał  Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją. Bliższe informacje o warunkach licencji
       można   uzyskać   zapoznając   się   z   GNU   General   Public   License   w   wersji   3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   lub   nowszej.   Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.