table of contents
wait4(2) | System Calls Manual | wait4(2) |
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);
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 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.
2 maja 2024 r. | Linux man-pages (niewydane) |