Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

getrusage, getrusage64 - Informationen über die Verwendung von Betriebsmitteln abfragen

&pagelevel(4)&pagelevel

Definition

#include <sys/resource.h>

int getrusage(int who, struct rusage *r_usage);

CRTE111A30

int getrusage64(int who, struct rusage64 *r_usage); (Ende)

Beschreibung

getrusage() gibt Informationen über die vom aktuellen Prozess verwendeten Betriebsmittel oder seiner beendeten Kindprozesse und der Kindprozesse, auf deren Beendigung gewartet wird, zurück.

Das Argument who kann den Wert RUSAGE_SELF oder RUSAGE_CHILDREN enthalten. Im ersten Fall werden Informationen über die Betriebsmittel des aktuellen Prozesses zurückgeliefert. Im zweiten Fall gibt getrusage() Informationen aus über die Betriebsmittel der beendeten Kindprozesse des aktuellen Prozesses und die der Kindprozesse, auf die der aktuelle Prozess wartet. Wird auf den Kindprozess niemals gewartet, weil z.B. im Elternprozess SA_NOCLDWAIT gesetzt ist oder SIGCHLD auf SIG_IGN gesetzt wird, dann wird auch keine Information über den Betriebsmittelverbrauch des Kindprozesses zurückgegeben.

Die Funktion getrusage64() verhält sich wie die Funktion getrusage(), 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

0

bei Erfolg. Die Struktur rusage wird mit den entsprechenden Werten aufgefüllt.


-1

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

getrusage() und getrusage64() schlagen fehl, wenn gilt:


EINVAL

Das Argument who enthält keinen gültigen Wert.


Erweiterung


EFAULT

Die vom Argument r_usage angegebene Adresse ist kein gültiger Bereich des Adressbereichs des Prozesses. (Ende)


getrusage64() schlägt fehl, wenn gilt:

 

ENOSYS

POSIX-BC Korrekturstand < A47.

Siehe auch

exit(), gettimeofday(), read(), sigaction(), time(), times(), wait(), write(), sys/resource.h.