Les signaux
Objectif: Envoyer un signal à un processus pour lui faire exécuter en réponse une procédure préétablie.

Signaux:
Repérés par un numéro et un nom symbolique (décrit dans signal.h) et obtenu grace à la commande kill -l (2 pour SIGINT, 15 pour SIGTERM, 30 pour SIGUSR1).


Envoi d'un signal si:
Exemples:
SIGINT=2:  Signal d'interruption (Ctrl-C par exemple); SIGKILL=9: Fin du processus (non déroutable); SIGALARM=14: Signal déclenché après un certain nombre de seconde (horloge); SIGTERM=15: Fin du processus; SIGSTOP=19: Suspension du processus (non déroutable); SIGTSTP=20: Suspension du processus (Ctrl-Z par exemple); SIGUSR1=10: Signal utilisateur 1 (disponible pour les applications); SIGUSR2=12: Signal utilisateur 2

Réponse à un signal: comportement (par défaut ou défini par l'utilisateur (déroutement)). Attention,
il y a asynchrosnisme entre l'envoi et la réception d'un signal (il y a un délai entre l'envoi et la réception)
Autres comportements possibles: dérouter le signal en indiquant par exemple une procédure à exécuter ou en l'obligeant à ignorer le signal (appel système signal(numsig, comportement))
        exemples:
        signal(SIGINT, SIG_IGN);    le signal SIGINT sera ignoré
        signal(SIGINT, quoifaire);      la procédure quoifaire sera exécutée à la réception du signal SIGINT
        signal(SIGINT, SIG_DFL);    le signal retrouve son action par défaut

suivant      plan