Tux

Unix : Programmation Système

TD 3 - Les Signaux

C. Drocourt
I.U.T. Amiens
drocourt@iut-amiens.fr

Exercice 1 :

Réaliser un programme someca qui tourne indéfiniment. Ce programme, lorsqu’il recevra le signal SIGINT une première fois, affichera sur stdout le message "Je méprise le signal SIGINT" et continuera son exécution. Par contre, s’il reçoit SIGINT une deuxième fois, il adoptera le comportement standard : il mourra.

D’un point de vue pratique, on lancera someca en avant plan et on enverra les signaux SIGINT à l’aide du raccourci clavier <intr>.

Exercice 2 :

Rédiger un programme composé des trois phases suivantes :

Phase 1

Affichage à l’écran de la phrase "Ceci est la phase 1" pendant dix secondes.
Durant cette phase ; les signaux SIGINT et SIGUSR2 seront masqués.

Phase 2

Affichage à l’écran de la phrase "Ceci est la phase 2" pendant dix secondes.
Durant cette phase ; le signal SIGINT sera démasqué, mais SIGUSR2 restera masqué.

Phase 3

Affichage à l’écran de la phrase "Ceci est la phase 3" pendant dix secondes.
Durant cette phase ; les deux signaux SIGINT et SIGUSR2 ne sont plus masqués.

A la fin de chaque phase, on affichera la liste des signaux pendants.
D’un point de vue pratique, on lancera le programme en arrière-plan et on enverra les signaux à partir de la ligne de commande via la commande kill.