Де я можу знайти повний перелік комбінацій клавіатур, які передають сигнали в 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.