Introduction

Les signaux sont liés à l’interruption du déroulement d’un programme. Une interruption consiste en l’arrêt du flot d’exécution afin de lancer le code approprié. Les signaux sont à l’origine de ces interruptions qui provoquent en général l’arrêt du programme, et souvent après l’écriture d’un fichier core sur le disque.

Un signal peut être généré de plusieurs manières. Sur les systèmes POSIX, les plus connus sont probablement SIGTERM et SIGKILL qui sont lancés afin de demander au programme de s’arrêter pour le premier, et afin de l’arrêter de force pour le second. Un autre que nous connaissons par ses effets est celui issu d’une faute de segmentation. Les signaux POSIX sont les suivants :

Tableau des signaux POSIX

Nom

Numéro

Action

Commentaires

SIGHUP

1

fin

Raccrocher (hangup). Souvent utilisé pour indiquer que l’application peut redémarrer.

SIGINT

2

fin

Vous venez de faire [Ctrl] C.

SIGQUIT

3

fin

Abandonne le programme.

SIGILL

4

fin

Instruction illégale.

SIGABRT

6

core+fin

Signal d’arrêt envoyé par abort().

SIGFPE

8

core+fin

Erreur mathématique d’opération impossible sur des nombres à virgule flottante (division par zéro, racine carrée d’un nombre négatif...).

SIGKILL

9

fin

Demande au système d’exploitation d’arrêter...

Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Rechercher et lire un courrier dans une boîte au format mbox
Suivant
Mettre en place un gestionnaire de signaux