Что такое ключ прерывания для команды Linux «меньше»

33370
studiohack

Когда вы выполняете shift-f с меньшими затратами, вы можете видеть обновление файла в режиме реального времени, и вы получаете сообщение «Ожидание данных ... (прерывание прерывается)».

Обновление работает нормально, но что такое прерывание? кажется, ничего не работает (Ctrl-C, Esc, Ctrl-I и т. д.). Я всегда должен убивать терминал, что является болью.

23
Для меня прерывание (ctrl-c) работает нормально, за исключением того, что оно убивает весь процесс! taranaki 7 лет назад 0

3 ответа на вопрос

28
Randy Orrison

Ctrl + C работает для меня. Когда я использую команду F меньше, она говорит «(прерывание, чтобы прервать)». «Прерывание», на которое оно ссылается, - это любой ключ, связанный с терминальным прерыванием. Команда stty -aпоказывает соответствующие настройки терминала:

скорость 38400 бод; ряды 50; столбцы 80; линия = 0; intr = ^ C ; выход = ^ \; стереть = ^ H; убить = ^ U; eof = ^ D; eol =; eol2 =; swtch =; начало = ^ Q; стоп = ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V; флеш = ^ O; мин = 1; время = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -maxxbel -iutflórlocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

Это то, intr = ^Cчто показывает, что прерывание генерируется Ctrl + C.

Если вы делаете stty -aто, что это показывает?

это говорит intr = ^ C. Ага!! это на самом деле Ctrl-Shift-C - т.е. в верхнем регистре. Спасибо за помощь 14 лет назад 1
Это странно - я никогда не знал, что Ctrl + Shift отличается от простого Ctrl. Мой показывает верхний регистр C, но Ctrl + C (без смещения) работает нормально. Randy Orrison 14 лет назад 3
Я никогда не использовал систему, которая по-разному относилась к ctrl-c и ctrl-C. Просто точка данных. CarlF 14 лет назад 4
У меня та же проблема, и ни ctrl-c, ни ctrl-shift-c не работают. Может ли это быть как-то связано с тем, что я меньше бегаю в сеансе экрана? jenming 10 лет назад 1
Это работает для меня: «Ctrl-Shift-C» переключиться в нормальный режим и просто введите «Q», чтобы выйти Mohammad Ali Akbari 9 лет назад 2
1
Travis Clarke

Как упоминалось в @RandyOrrison, ^C( control + c ) - соответствующий символ прерывания . Хотя то, как lessреагирует на этот сигнал, зависит от параметров, предоставляемых во время выполнения.

Обычно символ прерывания заставляет lessпрекратить все, что он делает, и вернуться к своей командной строке (то есть не к терминалу / приглашению tty).

Если вместо этого вы хотите дать сигнал lessо выходе и возвращении в терминал / tty, вы должны использовать опцию -Kили --quit-on-intr. Это приведет lessк немедленному выходу (со статусом 2), когда ^Cнабирается символ прерывания (обычно ).

меньше manpage

-K, --quit-on-intr

Вызывает немедленное завершение меньше (со статусом 2), когда набирается символ прерывания (обычно ^ C). Обычно символ прерывания вызывает меньше, чтобы остановить все, что он делает, и вернуться в командную строку. Обратите внимание, что использование этой опции делает невозможным возврат в командную строку из команды «F».

less -K [filename]... less --quit-on-intr [filename]... 
-1
hjeannin

Попробуйте Shift + Ctrl + C, у меня была та же проблема, и мне нужно было сделать Ctrl + Z-> fg-> Qчтобы выйти.

Похожие вопросы