Где я могу найти полный список комбинаций клавиш, которые посылают сигналы в 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
.