jueves, 6 de febrero de 2014

Ejercicio #1 - Señales en POSIX

Vamos a empezar a realizar una serie de ejercicios para asimilar los conocimientos adquiridos en entradas anteriores. Las soluciones de los mismos las añadiré en un comentario de las correspondientes entradas a los ejercicios.

Diseñe e implemente un proceso que cada vez que reciba una señal SIGUSR1 incremente el valor de un contador (inicialmente a cero). Para ello, instale un manejador de la señal SIGUSR1 tal que cada vez que reciba dicha señal incremente el valor de un contador que cuente la cantidad de señales SIGUSR1 recibidas desde el inicio del programa. 

Además, cuando reciba una señal SIGUSR2, debe terminar el proceso mostrando un mensaje de finalización con el valor final del contador. 

El programa debe mostrar al principio de la ejecución su identificador de proceso (pid), así como el número de la señal en la que ha instalado un manejador de señales y el número de la señal por la que espera por su terminación. 

Nota 1: puede enviar señales al proceso desde un Terminal mediante el comando: kill -USR2 pid-del-proceso. 
Nota 2: puede conocer los identificadores de los procesos desde un Terminal mediante el comando: ps -ef

Autor de los ejercicios (Profesorado UMA)

2 comentarios:

  1. Salida:

    http://gyazo.com/f90be7c200a829d2a275e9e672b3b4ed.png

    ResponderEliminar