Programmation avancée sous Linux


précédentsommairesuivant

13. Tableau des Signaux

Le Tableau signaux présente une partie des signaux Linux que vous avez le plus de chances de rencontrer. Notez que certains signaux peuvent être interprétés de différentes façons selon l'endroit où ils surviennent.

Les noms des signaux présentés ici sont définis sous forme de macros préprocesseur. Pour les utiliser dans votre programme utilisez <signal.h>. Les définitions proprement dites se trouvent dans le fichier /usr/include/sys/signum.h, qui est lui-même inclus par <signal.h>.

Pour une liste complète des signaux Linux, accompagnés d'une courte description et du comportement associé par défaut à leur réception, consultez la page de manuel de signal de la Section 7 par le biais de la commande suivante:

 
Sélectionnez

 % man 7 signal
Nom Description
SIGHUP Linux envoie ce signal à un processus lorsqu?il est déconnecté d?un terminal. La plupart des programmes Linux utilisent SIGHUP pour tout autre chose: indiquer à un programme en cours d?exécution qu?il doit recharger ses fichiers de configuration.
SIGINT Ce signal est envoyé lorsque l?utilisateur tente d?arrêter le programme en utilisant Ctrl+C.
SIGILL Reçu par un processus lorsqu?il tente d?exécuter une instruction illégale, cela peut indiquer une corruption de la pile du programme.
SIGABRT Reçu lors d?un appel à abort.
SIGFPE Reçu lorsque le processus exécute une instruction en virgule flottante invalide. Selon la manière dont le CPU est configuré, une opération en virgule flottante peut renvoyer une valeur non-numérique spéciale comme inf (infini) ou NaN (not a number) au lieu de lever un SIGFPE
SIGKILL Ce signal termine un processus immédiatement et ne peut pas être intercepté.
SIGUSR1 Réservé à l?usage par l?application.
SIGUSR2 Réservé à l?usage par l?application.
SIGSEGV Le programme a effectué un accès invalide à la mémoire. Il peut s?agir d?un accès à une adresse invalide dans l?espace d?adressage du processus ou l?accès peut être interdit par les permissions appliquées à la mémoire. Libérer un ?pointeur sauvage? peut provoquer un SIGSEGV.
SIGPIPE Le programme a tenté d?accéder à un flux de données invalide, comme une connexion qui a été fermée par l?autre protagoniste.
SIGALRM L?appel système alarm programme l?envoi de ce signal. Consultez la Section setitimer dans le Chapitre Appels systeme, pour plus d?informations sur setitimer, une version générique de alarm.
SIGTERM Ce signal demande à un processus de se terminer. Il s?agit du signal envoyé par défaut par la commande kill.
SIGCHLD Linux envoie ce signal à un processus lorsqu?un processus fils se termine. Consultez la Section Liberer async du Chapitre processus.
SIGXCPU Linux envoie ce signal à un processus lorsqu?il dépasse la limite de temps CPU qui lui a été allouée. Consultez la Section Getsetrlimit, du Chapitre Appels systeme pour plus d?informations sur les limites de temps CPU.
SIGVTALRM La fonction setitimer programme l?envoi de ce signal. Consultez la Section setitimer.

précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2007 Mark Mitchell, Jeffrey Oldham et Alex Samuel. Ce document ne peut être distribué que dans le respect des termes et conditions définies par l?Open Poublication License, v1.0 ou ultérieure (la dernière version est disponible sur http://www.opencontent.org/openpub/).