Существует класс процесса, именуемый
Сигналы
Имена сигналов задаются с помощью включенного заголовочного файла signal.h. Они начинаются с префикса SIG
| Имя сигнала | Описание |
|---|---|
SIGABORT | *Процесс аварийно завершается |
SIGALRM | Сигнал тревоги |
SIGFPE | *Исключение операции с плавающей точкой |
SIGHUP | Неожиданный останов или разъединение |
SIGILL | *Некорректная команда |
SIGINT | Прерывание терминала |
SIGKILL | Уничтожение (не может быть перехвачен или игнорирован) |
SIGPIPE | Запись в канал без считывателя |
SIGQUIT | Завершение работы терминала |
SIGSEGV | *Некорректный доступ к сегменту памяти |
SIGTERM | Завершение, выход |
SIGUSR1 | Сигнал 1, определенный пользователем |
SIGUSR2 | Сигнал 2, определенный пользователем |
*Могут быть также предприняты действия, зависящие от конкретной реализации.
Если процесс получает один из этих сигналов без предварительной подготовки к его перехвату, процесс будет немедленно завершен. Обычно при этом создается файл с дампом ядра. Этот файл в текущем каталоге, названный core, представляет собой образ процесса, который может оказаться полезным при отладке.
К дополнительным относятся сигналы, приведенные в табл. 11.4.
| Имя сигнала | Описание |
|---|---|
SIGCHLD | Дочерний процесс остановлен или завершился |
SIGCONT | Продолжить выполнение, если процесс был приостановлен |
SIGSTOP | Остановить выполнение (не может захватываться или игнорироваться) |
SIGTSTP | Сигнал останова, посылаемый с терминала |
SIGTTIN | Фоновый процесс пытается читать |
SIGTTOU | Фоновый процесс пытается писать |
Сигнал SIGCHLD
SIGCONT, который вызывает возобновление процесса. Они применяются программами командной оболочки для контроля работы и редко используются в пользовательских программах.Чуть позже мы рассмотрим более подробно первую группу сигналов. Пока же достаточно знать, что если командная оболочка и драйвер терминала нормально настроены, ввод символа прерывания (обычно от нажатия комбинации клавиш SIGINT