Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
23
Добавлен:
05.06.2015
Размер:
53.76 Кб
Скачать

44. Системные процессы. Понятие сигнала. Перечислите известные Вам сигналы. Команды kill и pkill.

Управление процессами осуществляется при помощи сигналов. Сигнал – сообщение, несущее определенный номер. Linux использует сигналы для сообщения о прерываниях, сгенерированных пользователем, а также о неправильных системных вызовах, нарушенных конвейерах, неверных инструкциях и других условиях. Сигналы позволяют воздействовать на процессы, выполняющиеся в системе, он посылает процессу информацию о том, что произошло новое событие, на которое процесс должен прореагировать. Например, при нажатии комбинации клавиш Control-C процессу отправляется стоп-сигнал, по которому он должен завершить свою работу. Процесс считывает номер сигнала и в зависимости от номера реагирует определенным образом.

Таблица 11 – Перечень некоторых сигналов.

Тип

Имя

Номер

Генерирующее условие

Отсутствие сигнала

0

Выход по команде exit или при достижении конца программы.

Разрыв

SIGHUP

1

Разрыв линии.

Прерывание терминала

SIGIN

2

Нажатие клавиши прерывания (например, Ctrl-C).

Прекращение

SIGQUIT

3

Нажатие клавиши прекращения (обычно, Ctrl-Shift-\ или Ctrl-Shift-|).

Уничтожение

SIGKILL

9

Самый сильный сигнал для процесса. Применять в крайнем случае.

Завершение программы

SIGTERM

15

Сигнал воздействия на процесс по умолчанию.

Стоп

SIGTSTP

20

Нажатие клавиши приостановки (обычно Ctrl-Z).

Команды kill и pkill. Снятие процессов осуществляется с помощью команды kill совместно с использованием номера сигнала. При этом обычно с kill используются два основных сигнала: 15 (используется по умолчанию) и 9 (уничтожением процесса). Старайтесь не применять 9 сигнал, т.к. завершение процесса с 9 сигналом иногда может привести к непредсказуемым последствиям. Сигнал 9, действую на процесс, приводит к незамедлительному завершению последнего. Например, если вы записываете диск и уничтожаете этот процесс 9 сигналом, вы можете повредить как сам диск, так и устройство CD-ROM. Или завершая процесс печати большого документа, вы можете повредить печатающее устройство. Или завершая сеанс работы с компьютером путем уничтожения соответствующего процесса во время архивирования большого массива данных, вы можете повредить жесткий диск и так далее. В следующем примере с помощью команды kill завершим работу демона lpsched по его PID.

Можно завершить работу процесса по его названию с помощью команды pkill:

Соседние файлы в папке KTNI_Kozlov_otvety