Leçon 8 : Signaux — Communication entre processus
Les signaux sont un mécanisme léger du système d'exploitation permettant d'envoyer des événements asynchrones à un processus. Dans cette leçon, nous étudions le cycle de vie d'un signal — envoi, réception, traitement — et nous comprenons pourquoi SIGKILL est dangereux pour les processus qui détienne
Un signal, c'est comme une tape sur l'épaule pour un processus : SIGTERM dit « merci de t'arrêter », SIGKILL dit « meurs maintenant » — et dans ce dernier cas, il n'y a pas de temps pour nettoyer.
- signal
- Une courte notification asynchrone envoyée à un processus par le noyau ou par un autre processus pour signaler un événement (erreur, demande de terminaison, interruption utilisateur).
- SIGTERM
- Signal 15 — une demande de terminaison polie qui peut être interceptée et traitée, permettant au processus de libérer ses ressources avant de se terminer.
- SIGKILL
- Signal 9 — une terminaison forcée qui ne peut être ni interceptée, ni bloquée, ni ignorée ; le noyau met fin au processus immédiatement, sans nettoyage.
- gestionnaire de signal
- Une fonction enregistrée avec signal() ou sigaction() qui est invoquée de manière asynchrone à l'arrivée d'un signal. Seules les opérations async-signal-safe y sont autorisées.
- sigaction
- L'interface POSIX complète pour enregistrer des gestionnaires de signal, offrant un contrôle sur le masque de signaux et des drapeaux supplémentaires, au-delà du simple appel signal().