SIGTERM

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Au sein des plateformes répondant aux normes POSIX, SIGTERM est le signal envoyé à un processus afin de provoquer sa fin. La constante symbolique du préprocesseur C pour SIGTERM est définie dans le fichier d'en-tête signal.h, en général lui-même dans /usr/include (autrefois dans /usr/include/sys). Les noms symboliques de signaux sont utilisés car les numéros de signaux peuvent varier, au sein des différentes plateformes ; néanmoins sur la vaste majorité des systèmes, SIGTERM est le signal numéro 15. Interceptable par le processus auquel il est envoyé, il constitue en général le dernier avertissement lui demandant de mettre ses données en ordre avant de se terminer lui-même. Le plus souvent, si le processus n'a pas obtempéré de lui-même après un certain temps, un SIGKILL non interceptable suivra.

Étymologie[modifier | modifier le code]

SIG est un préfixe commun pour les noms de signaux. TERM est la forme abrégée de terminaison.

Usage[modifier | modifier le code]

SIGTERM est le signal par défaut envoyé à un processus par la commande kill ou killall. Il engendre la fin du processus, mais contrairement au signal SIGKILL, il peut être capté et interprété (ou ignoré) par le processus. Par conséquent, SIGTERM a plus pour but de demander gentiment de s'arrêter, permettant un nettoyage et la fermeture de fichiers. Pour cette raison, sur de nombreux systèmes UNIX, lors de l'arrêt du système, init émet un signal SIGTERM vers tous les processus qui ne sont pas essentiels à l'arrêt, attend quelques secondes, puis émet SIGKILL pour forcer les autres processus à s'arrêter afin de permettre l'extinction du système.

Notes et références[modifier | modifier le code]