Dove posso trovare un elenco completo delle combinazioni di tastiere che inviano segnali in Linux?
Per esempio:
- Ctrl+ C- SIGINT
- Ctrl+ \- SIGQUIT
Dove posso trovare un elenco completo delle combinazioni di tastiere che inviano segnali in Linux?
Per esempio:
Risposte:
La disciplina di linea N_TTY di Linux invia solo tre diversi segnali: SIGINT, SIGQUIT e SIGTSTP. Per impostazione predefinita, i seguenti caratteri di controllo producono i segnali:
man stty | grep -C1 signalè una fonte per questi tre essendo gli unici segnali generati dal terminale.
SIGINT, SIGQUITe SIGTSTPsono l'unica "soliti" segnali inviati dalla disciplina di linea. Su BSD hai anche cose del genere SIGINFO, ma non è standard.
È possibile utilizzare sttyper controllare o modificare i caratteri che generano segnali.
$ stty -a | grep -Ewoe '(intr|quit|susp) = [^;]+'
intr = ^C
quit = ^\
susp = ^Z
intr(interrompere) genera SIGINT, quitgenera SIGQUIT, susp(sospendi) genera SIGTSTP. stty -amostrerà anche cose come start = ^Q; stop = ^S;e erase = ^?(backspace), che non inviano segnali ma influenzano il layer terminale in caso contrario.
Plain sttymostrerà le impostazioni non predefinite e ad es. stty intr ^QCambierebbe il carattere di interruzione ^Qinvece di^C .
Penso che ^L(feed modulo, nuova pagina) non sia una funzionalità terminale, ma un personaggio spesso usato dalle applicazioni per chiedere di ridisegnare la vista, ricontrollando allo stesso tempo le dimensioni della finestra.
^Lha un significato diverso per diverse applicazioni. Nella maggior parte delle cursesapplicazioni basate (come vim, less, mutt, mc, etc.) costringe il ridisegno completo (quindi ri-controllando la dimensione della finestra), ma in gusci ( bashetc.) semplicemente cancella la schermata. Non è SIGWINCHcoinvolto.
man 1 stty.