178
Для терминирования процессов извне предназначена служебная
программа kill, вызванная следующим образом:
kill -s TERM идентификатор_процесса ...
Если это не помогло, можно применить более сильный вариант:
kill -s KILL идентификатор_процесса ...
Разумеется, попытки терминирования процессов подвержены
контролю прав доступа.
Общий терминальный интерфейс Основные понятия и
объекты
В стандарте POSIX-2001 терминал или терминальное устройство
определяется как символьный специальный файл, удовлетворяющий
спецификациям общего терминального интерфейса.
Наряду с физическими устройствами в стандарте рассматриваются
псевдотерминалы - сущности, поддерживающие интерфейс, идентичный
терминальному. Псевдотерминал состоит из двух "устройств": главного
и подчиненного. Подчиненное "устройство" предоставляет процессам
терминальный интерфейс, не опирающийся на прямую аппаратную
поддержку. Данные, которые записываются на главное устройство,
становятся входными для подчиненного и наоборот.
Обычно терминальное устройство работает в полнодуплексном
режиме, когда ввод и вывод могут совмещаться во времени.
С каждым терминальным устройством ассоциирована очередь
ввода, куда система помещает входные данные до того, как их
прочитают прикладные процессы. На размер этой очереди (в байтах)
может быть наложено ограничение {MAX_INPUT}. Поддерживается
также очередь вывода, где хранятся записанные прикладными
процессами, но еще не выведенные на терминал символы.
Ввод может происходить в каноническом и неканоническом
режимах. Канонический режим означает построчную буферизацию
ввода системой, т. е. запрос на чтение из прикладной программы будет
удовлетворен лишь после того, как с клавиатуры поступит символ
перевода строки или конца файла, а прочитает программа заведомо не
больше одной строки, независимо от того, сколько байт она запросила.
На размер строки может быть наложено ограничение {MAX_CANON}.
Канонический режим подразумевает также естественную обработку
системой символов забоя и уничтожения строки.
(Отметим, что в каноническом режиме приложение не обязано
сразу прочитать всю буферизованную строку. Можно запросить любое
количество байт (даже один), и данные не будут потеряны.)
В неканоническом режиме входные данные не подвергаются
препроцессированию системой, а обработка запроса на чтение зависит
от двух параметров - MIN и TIME. Запрос на чтение не будет
удовлетворен, пока не поступит по крайней мере MIN байт или не
истечет время задержки TIME (время задается в десятых долях
секунды). Нулевое значение TIME трактуется как бесконечная задержка.