table of contents
- bullseye 4.10.0-1
- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
WAIT4(2) | Linux-Programmierhandbuch | WAIT4(2) |
BEZEICHNUNG¶
wait3, wait4 - auf die Beendigung eines Prozesses warten nach BSD-Art
ÜBERSICHT¶
#include <sys/types.h> #include <sys/time.h> #include <sys/resource.h> #include <sys/wait.h>
pid_t wait3(int *wstatus, int Optionen, struct rusage *rVerwendung);
pid_t wait4(pid_t pid, int *wstatus, int Optionen, struct rusage *rVerwendung);
wait3():
Seit Glibc 2.26:
_DEFAULT_SOURCE ||
(_XOPEN_SOURCE >= 500 &&
! (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600))
Von Glibc 2.19 bis 2.25:
_DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
Glibc 2.19 und älter:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
wait4():
Seit Glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 und älter:
_BSD_SOURCE
BESCHREIBUNG¶
Diese Funktionen sind nicht standardisiert; es wird empfohlen, waitpid(2) oder waitid(2) in neuen Programmen zu verwenden.
Die Systemaufrufe wait3() und wait4() sind waitpid(2) ähnlich, geben aber zusätzlich die Aufrufsinformationen über den Kindprozess in der Struktur zurück, auf die rVerwendung zeigt.
Im Gegensatz zur Benutzung des Arguments rVerwendung ist der folgende wait3()-Aufruf
wait3(wstatus, options, rusage);
äquivalent zu
waitpid(-1, wstatus, options);
Gleichermaßen der folgende wait4()-Aufruf:
wait4(pid, wstatus, options, rusage);
äquivalent zu
waitpid(pid, wstatus, options);
In anderen Worten, wartet wait3() auf irgendeinen Kindprozess, während wait4() zur Auswahl eines oder mehrerer bestimmter Kindprozesse benutzt werden kann, auf die gewartet werden soll. Lesen Sie wait(2), um weitere Einzelheiten zu erfahren.
Wenn rVerwendung nicht NULL ist, wird struct rusage, auf das es zeigt, mit Konto-Informationen über den Kindprozess gefüllt. Lesen Sie getrusage(2), um weitere Einzelheiten zu erfahren.
RÜCKGABEWERT¶
Wie für waitpid(2).
FEHLER¶
Wie für waitpid(2).
KONFORM ZU¶
4.3BSD.
SUSv1 enthielt eine Spezifikation von wait3(); SUSv2 enthielt wait3() noch, aber bezeichnete es als Altlast (»LEGACY«); in SUSv3 wurde es entfernt.
ANMERKUNGEN¶
Heutzutage ist es nicht nötig, <sys/time.h> einzubinden, es erhöht aber die Portierbarkeit. (Allerdings definiert <sys/resource.h> die Struktur rusage mit Feldern des Typs struct timeval, die wiederum in <sys/time.h> definiert werden.)
Unterschiede C-Bibliothek/Kernel¶
Auf Linux ist wait3() eine Bibliotheksfunktion, die darüber hinaus im Systemaufruf wait4() implementiert ist.
SIEHE AUCH¶
fork(2), getrusage(2), sigaction(2), signal(2), wait(2), signal(7)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können, sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Elmar Jansen <ej@pumuckel.gun.de> und Chris Leick <c.leick@vollbio.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
9. Juni 2020 | Linux |