Интегрированные сети ISDN

         

Сигналы


Имя сигнала

Функция по умолчанию

Описание

SIGABRT

Завершение + ядро

Результат системного вызова abort

SIGALRM

Завершение



Результат срабатывания таймера, установленного системными вызовом alarm или setitimer

SIGBUS

Завершение + ядро

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

SIGCHLD

Игнорирование

Сообщает родительскому процессу о завершении исполнения дочернего

SIGEGV

Завершение + ядро

Формируется при попытке обращения к неверному адресу или области памяти, для которой у процесса нет привилегий.

SIGFPE

Завершение + ядро

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

SIGHUP

Завершение

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

SIGILL

Завершение + ядро

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

SIGINT

Завершение

Посылается ядром всем процессам при нажатии комбинации клавиш <Del> или <Crtl><C>.

SIGKILL

Завершение

Сигнал прерывает выполнение процесса. Перехват или игнорирование этого сигнала невозможно.

SIGPIPE

Завершение

Результат попытки записи в канал или сокет, когда получатель данных закрыл соответствующий дескриптор.

SIGPOLL

Завершение

Результат реализации определенного события для устройства, которое опрашивается.

SIGPWR

Игнорирование

Результат угрозы потери питания (при переключении на UPS).

SIGQUIT

Завершение + ядро

Посылается ядром всем процессам текущей группы при нажатии клавиш <Crtl><\>.

SIGSTOP

Стоп

Посылается всем процессам текущей группы при нажатии пользователем комбинации клавиш <Crtl><Z>. Процесс останавливается.

SIGSYS

Завершение + ядро

Посылается ядром при попытке некорректного системного вызова

SIGTERM

Завершение

Предупреждение о скорой ликвидации процесса (ликвидировать временные файлы, прервать текущие обмены) Команда kill посылает именно этот сигнал.

SIGTTIN

Стоп

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

SIGTTOU

Стоп

Формируется ядром при попытке фонового процесса выполнить запись в консоль

SIGUSR1

Завершение

Предназначен для прикладных задач, как средство взаимодействия процессов.

SIGUSR2

Завершение

Предназначен для прикладных задач, как средство взаимодействия процессов.

<
/p> Сигнал может игнорироваться, могут быть предприняты действия, предусмотренные по умолчанию, или процесс может взять на себя функцию обработки сигнала. Если процесс не остановился, существует способ заставить его выполнить это требование, послав команду:



kill –9 pid



Иногда и это может не помочь, например, в случае процессов зомби (процесса нет а запись о нем имеется), операции в NFS или с ленточным ЗУ.

Атрибуты пользователя в файле /etc/passwd (одна строка – одна запись):



имя:passwd-encod:UID:GID:комментарии:home-dir:shell

имя
уникальное регистрационное имя пользователя (вводится при login)



passwd-encod
закодированный пароль пользователя. Часто пароль хранится в отдельном файле, а здесь вместо него проставляется символ х. Если в этом поле стоит символ *, то данный пользователь в систему войти не может (используется для псевдопользователей)



UID
Идентификатор пользователя, который наследуется порожденными им процессами. ROOT имеет UID=0.



GID
Идентификатор первичной группы пользователя, который соответствует идентификатору в файле /etc/group, где содержится список имен пользователей-членов группы.



Комментарии
Обычно здесь записывается истинное имя пользователя, здесь может быть записана дополнительная информация, например, телефон или e-mail пользователя, считываемые программой finger.



home-dir
Базовый каталог пользователя, где он оказывается после входа в систему.



Shell
Название программы, используемой системой в качестве командного интерпретатора (например, /bin/sh). Разные интерпретаторы используют разные скрипты инициализации (.profole, .login и т.д.).

В первой строке скрипта помещается строка #! /bin/sh, указывающая на тип и размещения интерпретатора. Поскольку скрипт исполняется интерпретатором, работает он медленно. Значение PID сохраняется в переменной $$, что можно использовать при формировании имен временных файлов, гарантируя их уникальность. Переменные $1, $2 и т.д. несут в себе значения параметров, переданных скрипту. Число таких параметров записывается в переменной $#.Результат работы скрипта заносится в переменную $?. Ненулевое значение $? свидетельствует об ошибке. В переменной $! Хранится PID последнего процесса, запущенного в фоновом режиме. Переменная $* хранит в себе все переменные, переданные скрипту в виде единой строки вида: “$1 $2 $3 …”. Другое представление переданных параметров предлагает переменная $@= “$1” “$2” “$3” …




Содержание раздела