Комбинация клавиш Ctrl+ Cотправляет символ ^C
(значение байта 3). Это заставляет терминал отправлять сигнал SIGINT программе, работающей на переднем плане¹. Обычным действием для этого сигнала является прерывание текущей команды: программы, предназначенные для обработки последовательных команд, возвращаются к своему приглашению верхнего уровня, тогда как программы, разработанные как одиночная пакетная команда или выход из непрерывного взаимодействия. Очевидно, что используемая вами программа была разработана в соответствии со второй моделью.
Этот ключ отправки сигнала является функцией общего интерфейса терминала в ядре, который используется всеми эмуляторами терминала и реальными физическими терминалами. С помощью команды вы можете настроить, какая клавиша отправляет этот сигнал, а также другие клавиши (прежде всего, CtrlZотправка SIGSTOP для приостановки программы переднего плана) stty
. Чтобы переключить ключ для SIGINT на Ctrl+ _(в текущем терминале):
stty intr '^_'
Чтобы отключить его вообще:
stty intr ''
Чтобы восстановить все настройки по умолчанию:
stty sane
Ключ не может быть произвольной комбинацией клавиш, он должен быть однобайтовым значением. stty
Установка может быть переопределена программами - некоторые программы (особенно полноэкранные программы в текстовом режиме) делать свои собственные обработки клавишей быстрого доступа.
¹ Точнее , ко всем процессам в основной группе процессов, для которых терминал является управляющим терминалом .