/* Exemple d'illustration des primitives Unix : Un père et ses fils */ /* Traitement du signal SIGINT */ #include /* entrées sorties */ #include /* pimitives de base : fork, ...*/ #include /* exit */ #include /* traitement des signaux */ /* Traitant du signal */ void handler_sigint(int signal_num) { printf("\nProcessus de pid %d : J'ai reçu le signal %d\n", getpid(),signal_num); return; } int main() { // on change les traitements de signal for (int i = 0; i < _NSIG; i++) { signal(i, handler_sigint); } printf("\nJe suis le processus principal de pid %d\n", getpid()); // on fait pleins de sleeps car traiter un signal le saute for (int i = 0; i < 12; i++) { sleep(5); printf("I sleep\n"); } return EXIT_SUCCESS; }