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