¿Cuáles son las relaciones entre los caracteres de control y las señales? ¿O no están relacionados?
¿Los caracteres de control son recibidos por una terminal?
Después de que un terminal recibe un carácter de control, ¿el terminal envía una señal a un proceso como una de las posibles acciones del terminal al carácter de control recibido?
Por ejemplo,
en Linux, en una terminal, Ctrl+C finalizará un proceso en primer plano en ejecución. En ASCII, Ctrl+C es un carácter de control que significa "Fin del texto".
En ASCII, Ctrl+D es un carácter de control que significa fin de transmisión. ¿El carácter de control hace que la terminal envíe alguna señal a algún proceso?
Respuesta aceptada:
El controlador de terminal (parte del sistema operativo) establece la relación entre caracteres especiales y señales. Su configuración de terminal , por ejemplo, usando stty
, son lo que usa para decidir qué hacer (si es que hay algo) con los caracteres que escribe. Puede reasignar esos caracteres especiales según sea necesario con algunas advertencias:
- solo un carácter especial por función
- solo se utilizan caracteres de un solo byte
control C y control D son convencionales :aunque algunas aplicaciones pueden codificar estos valores, el controlador de terminal no lo requiere.
El controlador de terminal es software, no forma parte de su terminal . Para algunos teclados, puede encontrar diferentes asignaciones de caracteres especiales más convenientes que otros (y para diferentes sistemas operativos, algunas opciones de los valores predeterminados para los caracteres especiales pueden diferir).
Lectura adicional:
- 11.1.9 Caracteres especiales (POSIX *Interfaz de terminal general)
- 11. Interfaz de terminal general
- stty:establece las opciones para un terminal