Где я могу найти полный список комбинаций клавиш, которые посылают сигналы в Linux?
Например:
- Ctrl+ C- SIGINT
- Ctrl+ \- SIGQUIT
Где я могу найти полный список комбинаций клавиш, которые посылают сигналы в 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 = ^?(возврат), которые не отправляют сигналы, но влияют на уровень терминала в противном случае.
Обычный sttyпокажет нестандартные настройки и, например stty intr ^Q, изменит символ прерывания на ^Qвместо ^C.
Я думаю ^L(подача формы, новая страница) - это не терминальная функция, а символ, часто используемый приложениями для запроса перерисовки представления, одновременно перепроверяя размер окна.
^Lимеет разное значение для разных приложений. В большинстве curses-приложений (такие , как vim, less, mutt, mcи т.д.) заставляет полную перерисовку (таким образом , повторно проверив размер окна), но в раковинах ( и bashт.д.) он просто очищает экран. Там не SIGWINCHучаствует.
man 1 stty.