Sobes.tech
Junior

Quelle est la différence entre les signaux SIGTERM et SIGKILL?

sobes.tech IA

Réponse de l'IA

SIGTERM — c’est un signal pour la terminaison polie du processus. Il informe le processus qu’il doit se terminer, permettant d’effectuer un nettoyage (par exemple, sauvegarder des données, fermer des connexions). Le processus peut ignorer ce signal.

SIGKILL — c’est un signal pour la terminaison forcée du processus. Il arrête immédiatement le processus, sans lui donner la possibilité d’effectuer un nettoyage. Ce signal ne peut pas être intercepté ou ignoré par le processus.

Principales différences :

Caractéristique SIGTERM SIGKILL
But Terminaison polie Terminaison forcée
Traitement Peut être intercepté et ignoré Ne peut pas être intercepté ou ignoré
Nettoyage des ressources Le processus peut effectuer un nettoyage Le processus ne nettoie pas

Exemple d’envoi de signaux :

# Envoyer SIGTERM au processus avec PID 1234
kill 1234

# Envoyer SIGKILL au processus avec PID 1234
kill -9 1234

Dans les scénarios de gestion de processus (par exemple, dans les systèmes d’initiation, orchestrateurs), il est généralement d’abord envoyé SIGTERM, et si le processus ne se termine pas dans le délai imparti, SIGKILL est envoyé.