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>.

Linux                                            8. August 2015                                         TIMES(2)