table of contents
other sections
GETITIMER(2) | Manual del programador de Linux | GETITIMER(2) |
NOMBRE¶
getitimer, setitimer - obtiene/asigna el valor de un temporizadorSINOPSIS¶
#include
<sys/time.h>
int
getitimer(int which, struct itimerval
*value);
int
setitimer(int which, const struct itimerval
*value, struct itimerval
*ovalue);
DESCRIPCIÓN¶
El sistema proporciona a cada proceso 3 temporizadores, los cuales se decrementan en distintas escalas de tiempo. Cuando ha pasado el intervalo de tiempo definido en el temporizador, se envía una señal al proceso, y el temporizador (potencialmente) vuelve a empezar.- ITIMER_REAL
- se decrementa en tiempo real, y envía SIGALRM al expirar.
- ITIMER_VIRTUAL
- se decrementa solo cuando el proceso esta ejecutándose, y envía SIGVTALRM al expirar.
- ITIMER_PROF
- se decrementa tanto cuando el proceso esta
ejecutándose como cuando el sistema esta trabajando en nombre del
proceso.
Asociado con ITIMER_VIRTUAL, este temporizador suele usarse para analizar el tiempo consumido por la aplicación en el espacio de usuario y en espacio del nucleo SIGPROF es enviado al expirar.
struct itimerval { struct timeval it_interval; /* valor próximo */ struct timeval it_value; /* valor actual */ }; struct timeval { long tv_sec; /* segundos */ long tv_usec; /* microsegundos */ };
VALOR DEVUELTO¶
En caso de éxito, devuelve 0. En caso de error, devuelve , -1 y errno es asignada apropiadamente.ERRORES¶
- EFAULT
- value o ovalue no son punteros válidos.
- EINVAL
- which no es uno de ITIMER_REAL, ITIMER_VIRT, o ITIMER_PROF.
CONFORME A¶
SVr4, 4.4BSD (Esta llamada al sistema apareció por primera vez en 4.2BSD).VÉASE TAMBIÉN¶
gettimeofday(2), sigaction(2), signal(2)FALLOS¶
En Linux, la generación y envio de una señal son acciones distintas, y para cada señal solo se permite un evento. Es, por lo tanto, posible que en condiciones extremas de sobrecarga, ITIMER_REAL expire antes de que la señal de una anterior expiración haya sido enviada. La segunda señal, en esta situación, será perdida.5 agosto 1993 | Linux 0.99.11 |