Provided by: manpages-de-dev_1.11-1_all bug

BEZEICHNUNG

       times - Abfrage der Prozesszeiten

ÜBERSICHT

       #include <sys/times.h>

       clock_t times(struct tms *buf);

BESCHREIBUNG

       times()  speichert die aktuellen Prozesszeiten in der Struktur tms, auf die buf weist. Die
       tms-Struktur wird in <sys/times.h> wie folgt definiert:

           struct tms {
              clock_t tms_utime;  /* Benutzer-Zeit */
              clock_t tms_stime;  /* System-Zeit */
              clock_t tms_cutime; /* Benutzer-Zeit der Kindprozesse */
              clock_t tms_cstime; /* System-Zeit der Kindprozesse */
           };

       Das Feld tms_utime enthält die  CPU-Zeit,  die  mit  dem  Ausführen  von  Anweisungen  des
       aufrufenden Prozesses verbracht wurde. Das Feld tms_stime enthält die im System verbrachte
       CPU-Zeit während der Ausführung von Aufgaben im Namen des aufrufenden Prozesses. Das  Feld
       tms_cutime  enthält  die Summe der tms_utime- und tms_cutime -Werte für alle Kindprozesse,
       auf deren Abschluss gewartet wurde. Das Feld tms_cstime enthält die Summe  der  tms_stime-
       und tms_cstime-Werte für alle Kindprozesse, auf deren Abschluss gewartet wurde.

       Zeiten  für  beendete Kindprozesse (und ihre Nachkommen) werden in dem Moment hinzugefügt,
       wenn wait(2) oder waitpid(2) deren Prozess-IDs zurückgeben. Insbesondere werden die Zeiten
       der Enkel, auf die die Kinder nicht gewarten haben, nicht erfasst.

       Alle Zeiten werden in Uhrticks angegeben.

RÜCKGABEWERT

       times()   gibt die Zahl der Ticks an, die seit einem beliebigen Punkt in der Vergangenheit
       abgelaufen sind. Der Rückgabewert kann den möglichen Bereich von Typ clock_t   überlaufen.
       Tritt ein Fehler auf, wird (clock_t) -1 zurückgegeben und errno entsprechend gesetzt.

FEHLER

       EFAULT tms zeigt außerhalb des adressierbaren Adressraums des Prozesses.

KONFORM ZU

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

ANMERKUNGEN

       Die Zahl der Uhrticks pro Sekunde kann wie folgt bestimmt werden:

           sysconf(_SC_CLK_TCK);

       In  POSIX.1-1996  wird das Symbol CLK_TCK (definiert in <time.h>) als veraltet erwähnt. Es
       ist jetzt überholt.

       Falls in  Linux-Kernel-Versionen  vor  2.6.9  die  Disposition  von  SIGCHLD  auf  SIG_IGN
       eingestellt  ist,  werden die Zeiten der beendeten Kindprozesse automatisch in den Feldern
       tms_cstime und tms_cutime eingetragen, obwohl POSIX.1-2001 sagt, dass dies  nur  geschehen
       soll,  wenn  der  aufrufende  Prozess  (mit  wait(2)) auf seine Kindprozesse wartet. Diese
       Nichtübereinstimmung wurde in Linux 2.6.9 und später behoben.

       Unter Linux kann das Argument buf als  NULL  angegeben  werden,  worauf  times()  nur  ein
       Funktionsergebnis  zurückgibt.  Dieses Verhalten wird aber nicht von POSIX beschrieben und
       die meisten UNIX-Implementierungen erfordern einen von NULL verschiedenen Wert für buf.

       Beachten Sie, dass auch clock(3) einen Wert vom Typ clock_t zurückgibt. Die Maßeinheit für
       diesen Wert ist CLOCKS_PER_SEC, nicht die von times() verwendeten Uhrticks.

       Unter  Linux  hat  sich  der  »beliebige  Punkt  in  der  Vergangenheit«, auf den sich der
       Rückgabewert von times () bezieht, über die Kernel-Versionen geändert. Unter Linux 2.4 und
       früher  war dieser Punkt der Moment, an dem das System gestartet wurde. Seit Linux 2.6 ist
       dieser Punkt (2^32/HZ) - 300 (d.h. etwa 429 Millionen)  Sekunden  vor  Systemstart.  Diese
       Variabilität zwischen Kernel-Versionen (und über UNIX-Implementierungen) und die Tatsache,
       dass der Rückgabewert den Bereich clock_t überlaufen  lassen  kann,  bedeutet,  dass  eine
       portable  Anwendung  klug  daran  tut,  diesen  Wert nicht zu verwenden. Um Änderungen der
       verstrichenen Zeit zu messen, verwenden Sie stattdessen clock_gettime(2).

   Historisches
       SVr1-3 gibt long zurück und Bestandteile der Struktur sind  vom  Typ  time_t,  obwohl  sie
       Uhrticks  speichern  und  nicht Sekunden seit dem Beginn der Unix-Zeit. V7 verwendete long
       für die Bestandteile der Struktur, weil es damals noch keinen Typ time_t gab.

FEHLER

       Eine Beschränkung in den Linux-Konventionen für  Systemaufrufe  für  einige  Architekturen
       (insbesondere  i386)  bewirkt  unter  Linux 2.6 ein kleines Zeitfenster (41 Sekunden) kurz
       nach dem Systemstart, in dem times() -1 zurückgeben und damit  fälschlicherweise  anzeigen
       kann,  dass ein Fehler auftrat. Dasselbe Problem kann auftreten, wenn der Rückgabewert den
       größten in clock_t speicherbaren Wert überschreitet.

SIEHE AUCH

       time(1), getrusage(2), wait(2), clock(3), sysconf(3), time(7)

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  4.04  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 http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Ralf Demmer  <rdemmer@rdemmer.de>,
       Martin     Eberhard    Schauer    <Martin.E.Schauer@gmx.de>    und    Mario    Blättermann
       <mario.blaettermann@gmail.com> 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 <debian-l10n-german@lists.debian.org>.