Настройка терминала
Я считаю, что это больше связано с тем, как настроен терминал, чем с любой проблемой буферизации. Проверьте выходные данные stty -a | grep intr, вы должны иметь intr = ^C;в выходной строке, если Ctrl- Cвключен в tty/ pty. Если это не так, вы можете использовать, stty intr ^Cчтобы включить его. Добавьте строку в ваш .tcshrcили, .loginчтобы сделать ее постоянной (или удалите строку, которая меняет ее в первую очередь!).
В противном случае Ctrl- Cвы также можете попробовать отправить SIGQUITс Ctrl- \. Если это не работает, еще раз проверьте, stty -a | grep quitправильно ли он настроен.
Настройка эмулятора терминала
Также проверьте настройки для вашего эмулятора терминала (если вы его используете), возможно, на этом уровне настроен ярлык (возможно, для копирования или чего-то еще), а - Ctrl- Cне достигает ptyуровня. Ярлык также может быть установлен где-то еще в вашей среде рабочего стола или в системе Windows.
Хорошим тестом для Linux, если вы используете эмулятор терминала, является переключение на консоль Linux ( Ctrl- Alt- F1), войдите в систему и посмотрите, происходит ли то же самое. Если этого не произойдет, значит, проблема в вашей оконной системе или эмуляторе терминала.
Это может быть проблемой с задержкой между считыванием данных с ptyустройства, как это было предложено peterph . Но если это так , и вы на самом деле приходится ждать минут данные , которые будут отображаться, то , конечно, эмулятор терминала буферизация путь слишком много данных (или ваш компьютер очень медленно). Ответ заключается в том, чтобы найти способ уменьшить размер буфера в настройках эмулятора терминала или использовать другой.
Дополнительный совет
Что-то еще стоит добавить; Я обычно оказываюсь в безудержной catситуации, когда я случайно catбинарный файл. Другим эффектом этого может быть испортить настройки терминала (если двоичные данные совпадают с различными кодами выхода терминала, что часто происходит). Если tputустановлено (обычно по умолчанию), вы можете избежать перезагрузки с помощью следующей команды:
tput reset