Gestion des signaux

Ce code permet de gérer les signaux de manière simple. Entre autre il permet d'intercepter les Ctrl+C, Segfault, ou autre. Il intercepte tous les signaux sauf le -SIGKILL (-9) qui ne peux etre intercepté.
Le programme
#include <stdio.h> #include <signal.h> #include <unistd.h> void signalement(int sig){ printf("Signal : %d\n" , sig); } int main(){ int Nb_Sig; printf("Nb max signaux : %d\n", SIGRTMAX); for (Nb_Sig = 1; Nb_Sig < SIGRTMAX ; Nb_Sig ++){ signal(Nb_Sig,signalement); } while(1) { sleep(1); } }
Pour tester le programme
trax@clubnix $ gcc -Wall signal.c -o prog trax@clubnix $ ./prog
Puis faire un Ctrl+C ou taper la commande
kill -X pid_de_prog
- X : le numéro du signal à tester (tout sauf 1 et 9)
- pid_de_prog : obtenu en tapant la commande
pgrep -lu votre_login |grep prog
IMPORTANT :
pour fermer le programme, faire un kill -9 PID_Programme.
Pour trouver le PID "pgrep -lu votre_login", ceci affichera la liste de vos programme.