Continuando con el artículo de la semana pasada sobre procesos en C hoy os dejo aquí un sencillo ejemplo de un cronómetro:
// Para las funciones pause y alarm: #include <unistd.h> // Para las constantes SIGALRM y similares #include <signal.h> #include <stdio.h> // Esta es la función que se va a ejecutar cada vez que se reciba la // señal SIGALRM void contar_segundos() { // Usamos static para que se conserve el valor de "segundos" // entre cada llamada a la función static int segundos=0; segundos++; printf("Han pasado %d segundos.\n", segundos); } int main() { // Asociamos la señal SIGALRM a la función contar_segundos signal(SIGALRM, contar_segundos); // Ponemos en marcha un bucle while(1) { // Establecemos una alarma para dentro de un segundo alarm(1); // Pausamos la ejecución del programa para que // se quede esperando a recibir una señal. pause(); } } |
—
q valor tiene la constante SIGALRM??
Si tienes curiosidad por saber el valor de SIGALRM puedes probar el siguiente programilla:
#include // Para las constantes SIGALRM y similares
#include
int main() {
printf(“Valor de SIGALRM: %i”, SIGALRM);
}
De todos modos no tienes que preocuparte del valor de SIGALRM porque precisamente esa es la gracia de usar constantes.