Sobes.tech
Junior — Middle

Explique ce que sont les signaux dans le système d'exploitation Unix et comment ils sont utilisés pour l'interaction entre processus.

sobes.tech IA

Réponse de l'IA

Dans les systèmes Unix, les signaux sont un mécanisme de notification asynchrone des processus concernant des événements. Un signal est un message court envoyé au processus par le noyau ou un autre processus pour signaler un événement.

Exemples de signaux :

  • SIGINT — interruption (généralement Ctrl+C)
  • SIGTERM — demande de terminaison du processus
  • SIGKILL — terminaison immédiate du processus
  • SIGSTOP — suspension du processus

Les signaux sont utilisés pour :

  • Contrôler les processus (terminer, suspendre, reprendre)
  • Gérer les erreurs (par exemple, la division par zéro génère SIGFPE)
  • Interaction entre processus (par exemple, un processus peut envoyer un signal à un autre pour la synchronisation)

Un processus peut définir un gestionnaire de signal pour effectuer des actions spécifiques lors de sa réception, ou ignorer le signal (si cela est autorisé).

Exemple d'utilisation d'un signal dans le shell :

kill -SIGTERM <pid>  # Envoyer un signal de terminaison au processus avec l'identifiant pid

Ainsi, les signaux sont un moyen simple et efficace d'interagir et de gérer les processus dans Unix.