Налаштування терміналу
Я вважаю, що це більше пов'язано з тим, як налаштований термінал, ніж з будь-якою проблемою буферизації. Перевірте вихід 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), увійти туди і побачити, чи відбувається така ж поведінка. Якщо цього немає, це говорить про те, що проблема полягає у вашій системі Window або емуляторі терміналу.
Це може бути проблемою із затримкою між зчитуванням даних із ptyпристрою, як це запропонував peterph . Але якщо це так , і ви на самому справі доводиться чекати хвилин дані , які будуть відображатися, то , звичайно, емулятор терміналу буферизация шлях занадто багато даних (або ваш комп'ютер дуже повільно). Відповідь полягає в тому, щоб знайти спосіб зменшити розмір буфера в налаштуваннях емулятора терміналу або використовувати інший.
Додатковий рада
Ще щось, що варто додати; Я, як правило, опиняюся в утікаючій catситуації, коли випадково catбінарний файл. Інший ефект цього може полягати у виправданні налаштувань терміналу (якщо двійкові дані відповідають різним кодам виходу терміналів, що це часто відбувається). Якщо tputвстановлено (як правило, за замовчуванням), ви можете уникнути необхідності перезапуску за допомогою наступної команди:
tput reset