русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сигналы


Дата добавления: 2013-12-23; просмотров: 1242; Нарушение авторских прав


Для оповещения о некоторых событиях системы и коммуникации между процессами используется механизм сигналов. Послать сигнал может сам процесс (например, при делении на 0), ядро (например, при сбое оборудования), пользователь или другой процесс (например, для прерывания выполнения некоторой задачи). В первом случае сигнал называется синхронным, во втором и третьем — асинхронным.

Если в программе, породившей процесс, определены некоторые действия при получении определенного сигнала, т.е назначена подпрограмма обработки, то после ее вызова ей предоставляется информация о контексте, в котором был сгенерирован сигнал. Иначе ядро от имени процесса выполнит действия, определенные по умолчанию для этого сигнала.

Получив сигнал, процесс может его игнорировать или вызвать обработчик. Процедура вызова обработчика называется перехватом сигнала. Когда выполнение обработчика завершается, процесс возобновляется с той точки, где был получен сигнал. Некоторые сигналы игнорировать или перехватить невозможно.

Список всех сигналов в системе можно посмотреть командой

kill -l

Например, в Alt-Linux определены 64 сигнала.

Имена сигналов начинаются с SIG; эту приставку часто опускают, называя, например, сигнал SIGHUP просто HUP.

Описание некоторых сигналов:

SIGHUP (1). Многие демоны воспринимают как команду сброса и перечитывают свои конфигурационные файлы. Иногда используется для уничтожения связанных с терминалом процессов.

SIGKILL (9). Не блокируется и приводит к безусловному завершению процесса на уровне ядра.

SIGINT (2). Посылается драйвером терминала при нажатии на <Ctrl+C> и служит запросом на завершение текущей операции. Простые программы должны завершить работу или позволить уничтожить себя стандартному обработчику сигнала. Программы, в которых есть режим командной строки, должны прекратить текущую операцию, выполнить очистку и снова перейти в режим ожидания.



SIGTERM (15). Запрос на завершение программы. Предполагается, что получивший его процесс осуществляет очистку экрана и завершается.

SIGQUIT (3). Подобен сигналу SIGTERM, но стандартный обработчик сигнала создает дамп памяти. Вызывается нажатием сочетания клавиш <Ctrl+\(обратный слэш)>. Дамп памяти — это файл, содержащий образ памяти процесса. Обычно используется для отладки.

SIGTSTP (18 или 20 или 24). Запрос на останов по нажатию <Ctrl+Z>. Выполняются операции очистки, затем процесс сам себе посылает сигнал SIGSTOP, который останавливает выполнение процесса до получения SIGCONT, который разрешает продолжить выполнение.

У ряда сигналов номера могут меняться в зависимости от типа оборудования. Пользователь может послать сигнал процессу с идентификатором PID командой

kill [-s сигнал] <PID>



<== предыдущая лекция | следующая лекция ==>
Жизненный цикл процессов | Процесс загрузки Linux. Системы инициализации


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.