Главная » Программирование для UNIX » Опережающий ввод с клавиатуры UNIX

0

Ядро  считывает ввод  с клавиатуры по мере  поступления, даже если  оно  одновременно  занято чем-то  еще,  так  что  можно печатать  сколь угодно быстро, в любой момент, даже если какая-то команда выполняет печать. Если ввод с клавиатуры выполняется в то время, пока система печатает, введенные символы появятся на экране вперемешку с выводимыми, но  они  сохранятся  отдельно и  будут  интерпретированы корректно. Можно вводить команды одну за другой, не дожидаясь их завершения или даже старта.

Остановка программы

Большинство команд можно остановить, введя символ Delete.1 Клавиша Break, которая есть на большинстве терминалов, тоже  может остановить программу, но это зависит от конкретной системы. В некоторых  случаях, например в текстовых редакторах, Delete останавливает любое  действие, выполняемое  программой, но  оставляет вас  внутри программы. Большинство программ будут остановлены при выключении терминала или разрыве телефонного соединения.

Если  требуется лишь приостановить вывод,  например, чтобы  сохра нить  на  экране выводимые данные, введите ctl-s. Вывод остановится практически сразу  же;  программа будет находиться в «подвешенном» состоянии до тех  пор,  пока  ее не запустят вновь. Чтобы возобновить вывод, введите ctl5q.

Выход из системы

Правильный способ  выхода из системы – это ввод  ctl-d  вместо  команды; так оболочка получает сообщение о том,  что ввод закончен. (В следующей главе будет  подробно описано,  как  именно это  происходит.) Обычно можно просто  выключить терминал или  повесить телефонную трубку, но осуществляется ли при этом  на самом  деле выход, зависит от системы.

1        Для  большинства распространенных  UNIX-систем  это  код  нажатия клавиш ctl-C. – Примеч. науч. ред.

Источник: Керниган Б., Пайк Р., UNIX. Программное окружение. – Пер. с англ. – СПб: Символ-Плюс, 2003. – 416 с., ил.

По теме:

  • Комментарии