Де я можу знайти повний перелік комбінацій клавіатур, які передають сигнали в Linux?
Наприклад:
- Ctrl+ C- SIGINT
- Ctrl+ \- СИГВІТ
Де я можу знайти повний перелік комбінацій клавіатур, які передають сигнали в Linux?
Наприклад:
Відповіді:
Лінійна дисципліна Linux N_TTY посилає лише три різних сигнали: SIGINT, SIGQUIT і SIGTSTP. За замовчуванням такі сигнали керують сигналами:
man stty | grep -C1 signal
є одним з джерел для цих трьох, є єдиними сигналами, що генеруються терміналом.
SIGINT
, SIGQUIT
і SIGTSTP
є тільки «звичайні» сигнали , що передаються по лінії дисципліни. У BSD у вас також є такі речі, як це SIGINFO
, але це не стандартно.
Ви можете використовувати stty
для перевірки або зміни символів, які генерують сигнали.
$ stty -a | grep -Ewoe '(intr|quit|susp) = [^;]+'
intr = ^C
quit = ^\
susp = ^Z
intr
(переривати) породжує SIGINT
, quit
породжує SIGQUIT
, susp
(призупиняє) породжує SIGTSTP
. stty -a
також буде показано такі речі, як start = ^Q; stop = ^S;
і erase = ^?
(backspace), які не посилають сигнали, але впливають на термінальний шар в іншому випадку.
Звичайний stty
покаже параметри, що не використовуються за замовчуванням, і, наприклад stty intr ^Q
, змінить символ переривання на, ^Q
а не на ^C
.
Я думаю ^L
(подача форми, нова сторінка) - це не термінальна функція, а символ, який часто використовуються програмами для запиту на перемальовування подання, одночасно повторно перевіряючи розмір вікна.
^L
має різне значення для різних застосувань. У більшості curses
-програм (такі , як vim
, less
, mutt
, mc
і т.д.) змушує повну перерисовку (таким чином , повторно перевіривши розмір вікна), але в раковинах ( і bash
т.д.) він просто очищає екран. Не бере SIGWINCH
участь.
man 1 stty
.