Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

wait3, wait364 - auf Zustandsänderung von Kindprozessen warten

&pagelevel(4)&pagelevel

Definition

#include <sys/wait.h>

pid_t wait3(int *stat_loc, int options, struct rusage *resource_usage);

CRTE111A30

pid_t wait364(int *stat_loc, int options, struct rusage64 *resource_usage); (Ende)

Beschreibung

wait3() liefert dem aufrufenden Prozess Status-Informationen über den angegebenen Kindprozess.

Der Aufruf

wait3(stat_loc, options, resource_usage);

ist äquivalent zu dem Aufruf

waitpid( (pid_t)-1, stat_loc, options);

nur dass bei erfolgreicher Ausführung in der angegebenen rusage-Struktur resource_usage die Status-Informationen für den Kindprozess eingetragen werden, der durch den Rückgabewert identifiziert wird.

wait3() ist nicht threadsicher.

Werden Threads verwendet, so wirkt sich diese Funktion auf den Prozess oder auf einen Thread wie folgt aus: wait3() - liefert dem aufrufenden Thread Status-Informationen über den angegebenen Kindprozess.

Die Funktion wait64() verhält sich wie die Funktion wait(), außer dass Argument r_usage auf eine Struktur rusage64 anstelle einer Struktur rusage zeigt.

Die Struktur rusage enthält die folgenden Komponenten :

struct timeval ru_utime    /* Die Gesamtzeit, in der die Ausführung im 
                              Benutzermodus stattfindet. Die Zeitdauer wird
                              in Sekunden und Mikrosekunden angegeben. */
struct timeval ru_stime    /* Die Gesamtzeit, in der die Ausführung im
                              Systemmodus stattfindet. Die Zeitdauer wird
                              in Sekunden und Mikrosekunden angegeben. */

Die Struktur rusage64 enthält die folgenden Komponenten :

struct timeval64 ru_utime    /* Die Gesamtzeit, in der die Ausführung im 
                                Benutzermodus stattfindet. Die Zeitdauer wird
                                in Sekunden und Mikrosekunden angegeben. */
struct timeval64 ru_stime    /* Die Gesamtzeit, in der die Ausführung im
                                Systemmodus stattfindet. Die Zeitdauer wird
                                in Sekunden und Mikrosekunden angegeben. */

Returnwert

Siehe waitpid().

Fehler

Zusätzlich zu den bei waitpid() angegebenen Fehlern schlagen wait3() und wait364() fehl, wenn gilt: 

 

ECHILD

Für den aufrufenden Prozess existieren keine Kindprozesse, auf die nicht gewartet wird
oder die durch das Argument pid spezifizierte Gruppe von Prozessen kann nie in den durch options angegebenen Status kommen.


Zusätzlich zu den bei waitpid() angegebenen Fehlern schlägt wait364() fehl, wenn gilt: 

 

ENOSYS

POSIX-BC Korrekturstand < A47.

Hinweis

Wenn ein Vaterprozess beendet wird, ohne auf seine Kindprozesse zu warten, übernimmt der Initialisierungsprozess (Prozess-ID = 1) die Kindprozesse.

Siehe auch

exec, exit(), fork(), pause(), sys/wait.h.