Gdzie mogę znaleźć pełną listę kombinacji klawiszy, które wysyłają sygnały w systemie Linux?
Na przykład:
- Ctrl+ C- SIGINT
- Ctrl+ \- SIGQUIT
Gdzie mogę znaleźć pełną listę kombinacji klawiszy, które wysyłają sygnały w systemie Linux?
Na przykład:
Odpowiedzi:
Dyscyplina linii Linux N_TTY wysyła tylko trzy różne sygnały: SIGINT, SIGQUIT i SIGTSTP. Domyślnie następujące znaki sterujące wytwarzają sygnały:
man stty | grep -C1 signal
jest jednym źródłem dla tych trzech, które są jedynymi sygnałami generowanymi przez terminal.
SIGINT
, SIGQUIT
i SIGTSTP
są tylko „zwykłe” sygnały wysyłane przez dyscypliny linii. Na BSD masz też takie rzeczy SIGINFO
, ale to nie jest standardowe.
Możesz użyć stty
do sprawdzenia lub zmiany znaków generujących sygnały.
$ stty -a | grep -Ewoe '(intr|quit|susp) = [^;]+'
intr = ^C
quit = ^\
susp = ^Z
intr
(przerwać) generuje SIGINT
, quit
generuje SIGQUIT
, susp
(zawiesza) generuje SIGTSTP
. stty -a
pokaże także rzeczy takie jak start = ^Q; stop = ^S;
i erase = ^?
(backspace), które w przeciwnym razie nie wysyłają sygnałów, ale wpływają na warstwę końcową.
Zwykły stty
pokaże ustawienia inne niż domyślne i np stty intr ^Q
. Zmieni znak przerwania na ^Q
zamiast ^C
.
Myślę, że ^L
(wysuw formularza, nowa strona) nie jest funkcją terminalu, ale postacią często używaną przez aplikacje, by poprosić o przerysowanie widoku, sprawdzając jednocześnie rozmiar okna.
^L
ma inne znaczenie dla różnych aplikacji. W większości curses
zastosowań opartych o (takich jak vim
, less
, mutt
, mc
, itd.) To wymusza pełną narysowany (zatem ponowne sprawdzenie rozmiaru okna), ale w muszli ( bash
itp) to po prostu czyści ekran. Nie jest SIGWINCH
zaangażowany.
man 1 stty
.