tail head cat sleep
QR code linking to this page

Manpage  — WAIT4

BEZEICHNUNG

wait3, wait4 - wartet auf die Beendigung eines Prozesses, BSD style

INHALT

ÜBERSICHT

#define _USE_BSD 
#include <sys/types.h> 
#include <sys/resource.h> 
#include <sys/wait.h> 

pid_t wait3(int *status, int options, struct rusage *rusage)

pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage)

BESCHREIBUNG

Die Funktion wait3 unterbricht Ausführung des aktuellen Prozesses bis sich ein Kind-Prozeß beendet, oder ein Signal eintrifft, um den aktuellen Prozeß zu beenden. Wenn ein Kind-Prozeß schon beendet ist (ein sogennenter Zombie), wird die Funktion sofort beendet. Alle Systemresourcen des Kind-Prozesses werden freigegeben.

Die Funktion wait4 unterbricht die Ausführung des aktuelllen Prozesses bis sich der Kind-Prozeß mit der Pozeßnummer pid beendet, oder ein Signal eintrifft, um den aktuellen Prozeß zu beenden. Wenn der Kind-Prozeß mit der Prozeßnummer pid schon beendet ist (ein sogennenter Zombie),wird die Funktion sofort beendet. Alle Systemresourcen des Kind-Prozesses werden freigegeben.

Der Wert von pid kann einer der folgenden sein:
< -1 hierbei wird auf ein beliebiges Kind gewartet des Prozeßgruppennummer gleich ist mit dem absoluten Wert von pid.
-1 hierbei wird auf irgendein Kind gewartet: dies ist identisch mit dem Aufruf von wait3.
0 hierbei wird auf irgendein Kind gewartet dessen Prozeßgruppennummer gleich ist mit der des Vaters.
> 0 hierbei wird auf das Kind gewartet dessen Prozeßnummer gleich ist mit dem Wert von pid.
Der Wert von options ist das ERgebnis eines exclusiven ODER von keinem oder mehreren der folgenden Konstanten:
WNOHANG
  hierbei wird sofort zurückgekehrt wenn auf kein Kind gewartet werden muß.
WUNTRACED
  hierbei wird auch zurückgekehrt wenn auf Kinder gewartet werden soll die gestoppt sind und deren Status noch nicht zurückgegeben wurde.
Wenn status nicht NULL, ist speichern wait3 or wait4 die Stausinformation in der Variablen statloc.
Der Status kann mit folgenden Makros ermittelt werden:
WIFEXITED(*status)
  ist nicht Null wenn das Kind normal beendet wurde.
WEXITSTATUS(*status)
  wertet die letzten acht Bits des Rückgabewertes des Kindes aus, die als Argument der Funktion exit gesetzt, oder als Argument eines return Statements des main Programms gesetzt wurden. Dieses Makro kann nur benutzt werden wenn WIFEXITED einen Wert ungleich Null liefert.
WIFSIGNALED(*status)
  liefert wahr zurück, wenn das Kind aufgrund eines nicht abgefangenen Signals beendet wurde.
WTERMSIG(*status)
  liefert die Signalnummer des Signals das des Kind beendete. Dieses Makro kann nur benutzt werden wenn WIFSIGNALED einen Wert ungleich Null liefert.
WIFSTOPPED(*status)
  liefert wahr zurück, wenn das Kind, das den Return auslöste, im Moment gestoppt ist. Dies ist nur der Fall wenn der Aufruf während eines WUNTRACED erfolgte.
WSTOPSIG(*status)
  liefert die Signalnummer des Signals das das Kind stoppte. Dieses Makro kann nur benutzt werden wenn WIFSTOPPED einen Wert ungleich Null liefert.

Wenn rusage nicht NULL, ist wird struct rusage , wie in <sys/resource.h> definiert, mit Accountinginformationen gefüllt. Siehe dazu getrusage(2) [Englisch].

RÜCKGABEWERT

Die Prozeßnummer des Kindes welches sich beendet, oder bei einem Fehler -1, oder Null wenn WNOHANG benutzt wurde und kein Kind mehr existierte. In diesem Fall wird errno auf einen entsprechenden Wert gesetzt.

ERRORS

ECHILD Wenn der Kindprozeß mit der pid nicht existiert.
EPERM Wenn die effektive Userid des aufrufenden Prozesses nicht übereinstimmt mit dem Prozeß auf den gewartet werden soll und die effektive Userid des aufrufenden Prozesses nicht die des Superusers ist.
ERESTARTSYS
  Wenn WNOHANG nicht gesetzt wurde und ein nicht blockierendes Signal oder ein SIGCHLD zurückgegeben wurde; dies ist eine Erweiterung des POSIX.1 Standards.

KONFORM ZU

POSIX.1

SIEHE AUCH

signal(2), getrusage(2) [Englisch], wait(2) [Englisch], signal(7).


26. März 1996 WAIT4 (2) Linux

tail head cat sleep
QR code linking to this page


Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.

I'm not interested in developing a powerful brain. All I'm after is just a mediocre brain, something like the President of the American Telephone and Telegraph Company.
— Alan Turing