URL: https://linuxfr.org/forums/programmation-shell/posts/signaux Title: Signaux Authors: xfred31 Date: 2006年02月22日T15:01:17+01:00 Tags: Score: 0 Bonjour; Je cherche à comprendre deux points de la gestion des signaux en shell : 1 - pourquoi le script suivant peut-être interrompu "proprement" lorsqu'il est exécuté en foreground dans une console (par exemple avec le Ctrl+C, SIGINT) alors que depuis une console tierce, l'envoie d'un signal SIGINT est ignoré ? Est-ce lié à la gestion des tty ? 2 - pourquoi, enfin, un SIGKILL lancé depuis une autre console résulte dans l'arrêt du seul /bin/sh (le sleep restant en arrière plan, et fils du PID 1) ? #!/bin/sh sleep 3600 En recherchant la ou les explications de ces comportements, je souhaiterais surtout trouver un moyen pour interrompre "récursivement" tous les processus fils d'un processus déterminé (script shell), comme, me semble-t'il, lorsque ce dernier recoît un Ctrl+C. Bien sûr, le "sleep" peut être remplacé par une ou plusieurs autres commandes externes; un "ls -R /" par exemple. Le comportement décrit semble répandu : sur Linux, Solaris & Cygwin (W2K), et avec bash, ksh ou csh. Merci pour vos réponses ou pistes éventuelles.