Hauptindex | Abschnitt 2 | English | 日本語 | Optionen |
#include <sys/time.h>
| |
ITIMER_REAL | zählt die tatsächlich laufende Zeit und liefert SIGALRM wenn die Null erreicht wurde. |
ITIMER_VIRTUAL | zählt nur, wenn der Prozeß ausgeführt wird und liefert SIGVTALRM wenn die Null erreicht wurde. |
ITIMER_PROF | zählt sowohl, wenn der Prozeß Rechnerzeit beansprucht, als auch, wenn das System für den Prozeß tätig ist. Zusammen mit ITIMER_VIRTUAL, kann man so ermitteln, wie lange eine Applikation sich im User- und im Kernelprogrammraum aufhält. Wenn der Zähler abgelaufen ist, wird SIGPROF geliefert. |
struct itimerval { struct timeval it_interval; /* nächster Timerwert */ struct timeval it_value; /* dieser Timerwert */ }; struct timeval { long tv_sec; /* Sekunden */ long tv_usec; /* Mikrosekunden */ };
Getitimer(2) füllt die Struktur value mit den aktuellen Werten des Timers, den which angibt, was ITIMER_REAL, ITIMER_VIRTUAL, oder ITIMER_PROF) sein kann. The element it_value wird auf die Zeit gesetzt, die noch verbleibt oder auf Null, wenn der Timer nicht aktiv ist. Analog wird it_interval auf den Resetwert gesetzt.
Setitimer(2) setzt den angegebenen Timer auf den Wert, der in value referenziert wird. Falls ovalue nicht Null ist, wird der alte Wert dort abgelegt.
Timer werden von it_value dekrementiert bis Null erreicht wird, es wird ein Signal ausgelöst und der Timer wird auf den Beginn des Intervalls it_interval zurückgesetzt. Ein Timer, der auf Null gesetzt wird (it_value ist Null oder der Timer läuft ab und it_interval wird auf Null gesetzt) terminiert.
Timer laufen nie vor der angeforderten Zeit ab, sondern eher eine konstant kurze Zeitspanne später. Die Größe der Zeitspanne hängt von der Auflösung des Timer ab (aktuell 10ms). Bei Ablauf wird ein Signal erzeugt und der Timer beginnt von neuem. Wenn das Signal ausgelöst wird, wenn der Prozeß aktiv ist (das ist bei ITIMER_VIRT stets der Fall), wird das Signal augenblicklich ausgeliefert. Andernfalls wird das Signal etwas später ausgeliefert, was von der Belastung der Maschine abhängen kann.
EFAULT | value oder ovalue sind keine gültigen Pointer. |
EINVAL | which ist weder ITIMER_REAL noch ITIMER_VIRT noch ITIMER_PROF. |
5 August 1993 | GETITIMER (2) | Linux 0.99.11 |
Hauptindex | Abschnitt 2 | English | 日本語 | Optionen |
Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.