GNU/Linux >> Tutoriels Linux >  >> Linux

Relations entre les caractères de contrôle, les signaux et le terminal ?

Quelles sont les relations entre les caractères de contrôle et les signaux ? Ou sont-ils sans rapport ?

Les caractères de contrôle sont-ils reçus par un terminal ?

Une fois qu'un terminal a reçu un caractère de contrôle, le terminal envoie-t-il un signal à un processus parmi les actions possibles du terminal sur le caractère de contrôle reçu ?

Par exemple,

sous Linux, dans un terminal, Ctrl+C mettra fin à un processus de premier plan en cours d'exécution. En ASCII, Ctrl+C est un caractère de contrôle qui signifie « Fin du texte ».

En ASCII, Ctrl+D est un caractère de contrôle qui signifie la fin de la transmission. Le caractère de contrôle oblige-t-il le terminal à envoyer un signal à un processus ?

Réponse acceptée :

Le pilote de terminal (partie du système d'exploitation) établit la relation entre les caractères spéciaux et les signaux. Vos paramètres de terminal , par exemple, en utilisant stty , sont ce qu'il utilise pour décider quoi faire (le cas échéant) avec les caractères que vous tapez. Vous pouvez réaffecter ces caractères spéciaux selon vos besoins avec quelques mises en garde :

  • un seul caractère spécial par fonction
  • Seuls les caractères à un octet sont utilisés

contrôle C et contrôler D sont conventionnels  :bien que quelques applications puissent coder ces valeurs en dur, le pilote de terminal ne l'exige pas.

Le pilote du terminal est un logiciel, il ne fait pas partie de votre terminal . Pour certains claviers, vous pouvez trouver différentes affectations de caractères spéciaux plus pratiques que d'autres (et pour différents systèmes d'exploitation, quelques choix de valeurs par défaut pour les caractères spéciaux peuvent différer).

Lectures complémentaires :

  • 11.1.9 Caractères spéciaux (POSIX *Interface générale du terminal)
  • 11. Interface générale du terminal
  • stty – définir les options d'un terminal

Linux
  1. Différence entre le programme de démarrage Systemd et Terminal ?

  2. Différence entre Eot et Eof?

  3. Différence entre [0-9], [[:digit:]] et D ?

  4. Quelles relations existe-t-il entre le terminal de contrôle actuel et `/dev/tty` ?

  5. Différence entre snat et mascarade?

Mon terminal Linux riche en fonctionnalités et minimal

Partager et contrôler les terminaux en temps réel depuis un navigateur Web

Vim vs Vi - Similitudes et différences entre VIM et VI ?

FAQ pour l'authentification transparente entre MyRackspace et le panneau de contrôle Cloud

Quelle est la différence entre une console, un terminal et un shell ?

Différence entre les commandes dans le script bash et les commandes dans le terminal