| Subcribe via RSS

Procesos en C: Ejemplo de un sencillo cronómetro con SIGALRM

Octubre 19th, 2009 Posted in C/C++, programacion

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();
	}
}

¿Necesitas ayuda con algún trabajo de clase? Entra en BuscoProfe.com



Entradas relacionadas

  1. Procesos en C: Señales (SIGINT)
  2. Procesos en C: Crear un nuevo proceso con fork()
  3. Programación en C: Compilando con gcc
  4. Introducción a la GSL (GNU Scientific Library) – Evaluar un polinomio
  5. QT+MySQL (2ª parte): Comprobar si está disponible el driver MySQL para QT
Valoración:
1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (Sin calificar)
Loading ... Loading ...




Leave a Reply