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é.