web-dev-qa-db-fra.com

Liste des signaux générés par le terminal (par exemple Ctrl-C -> SIGINT)

Où puis-je trouver une liste complète des combinaisons de clavier qui envoient des signaux sous Linux?

Par exemple:

  • Ctrl+C - SIGINT
  • Ctrl+\ - SIGQUIT
36
Tom Hale

La discipline de ligne Linux N_TTY envoie uniquement trois signaux différents: SIGINT, SIGQUIT et SIGTSTP. Par défaut, les caractères de contrôle suivants produisent les signaux:

  • Ctrl+C - SIGINT
  • Ctrl+\ - SIGQUIT
  • Ctrl+Z - SIGTSTP
28
Johan Myréen

Vous pouvez utiliser stty pour vérifier ou modifier les caractères qui génèrent des signaux.

$ stty -a | grep -Ewoe '(intr|quit|susp) = [^;]+'
intr = ^C
quit = ^\
susp = ^Z

intr (interruption) génère SIGINT, quit génère SIGQUIT, susp (suspension) génère SIGTSTP. stty -a affichera également des éléments comme start = ^Q; stop = ^S; et erase = ^? (retour arrière), qui n'envoient pas de signaux mais affectent la couche terminale autrement.

Simple stty affichera les paramètres non par défaut et par exemple stty intr ^Q changerait le caractère d'interruption en ^Q au lieu de ^C.

Je pense ^L (flux de formulaire, nouvelle page) n'est pas une fonctionnalité de terminal, mais un caractère souvent utilisé par les applications pour demander à redessiner la vue, en revérifiant la taille de la fenêtre en même temps.

9
ilkkachu