Сигнал в операционных системах семейства Unix — асинхронное уведомление процесса о каком-либо событии, один из основных способов взаимодействия между процессами. Когда сигнал послан процессу, операционная система прерывает выполнение процесса, при этом, если процесс установил собственный обработчик сигнала, операционная система запускает этот обработчик, передав ему информацию о сигнале, если процесс не установил обработчик, то выполняется обработчик по умолчанию.
В POSIX-системах, SIGRTMIN и SIGRTMAX — первый и последний из диапазона пользовательских сигналов, который может быть использован для межпроцессных коммуникаций в реальном времени.
В POSIX-системах, SIGBUS — сигнал, сигнализирующий об ошибке шины, при обращении к физической памяти.
В POSIX-системах SIGCHLD — сигнал, посылаемый при изменении статуса дочернего процесса.
В POSIX-системах, SIGCONT — сигнал, посылаемый для возобновления выполнения процесса, ранее остановленного сигналом SIGSTOP или другим сигналом.
В POSIX-системах, SIGHUP — сигнал, посылаемый процессу для уведомления о потере соединения с управляющим терминалом пользователя.
В POSIX-системах, SIGILL — сигнал, посылаемый процессу при попытке выполнить неправильно сформированную, несуществующую или привилегированную инструкцию.
В POSIX-системах, SIGPIPE — сигнал, посылаемый процессу при записи в соединение при отсутствии или обрыве соединения с другой (читающей) стороной.
SIGSEGV — сигнал, используемый в POSIX-системах, посылаемый процессу при ошибках сегментации — отказах страниц и других попытках обращения к несуществующей области памяти или при обращениях с нарушением прав доступа.
В POSIX-системах, SIGXFSZ — сигнал, посылаемый процессу при превышении открытым файлом максимально допустимого размера.
В POSIX-системах, SIGSTOP — сигнал, посылаемый для принудительной приостановки выполнения процесса. Для возобновления выполнения используется сигнал SIGCONT.
В POSIX-системах, SIGTTIN — сигнал, посылаемый фоновой задаче при попытке чтения с управляющего терминала.
В POSIX-системах, SIGTTOU — сигнал, посылаемый фоновой задаче при попытке вывода на управляющий терминал.
В некоторых Unix-системах, SIGEMT — сигнал, посылается при достижении ловушки эмулятора.
В некоторых Unix-системах, SIGPWR — сигнал, посылается процессам при аварии сетевого питания.
В некоторых Unix-системах, SIGLOST — сигнал, посылается процессу при потере блокировки файла в файловой системе.
«SIGWINCH» — сигнал, посылаемый программе при изменении размеров экранного окна управляющего терминала в некоторых Unix-системах.
В некоторых Unix-системах, SIGUNUSED — неиспользуемый сигнал, зарезервированный для будущего использования.
signal.h — заголовочный файл, определенный в стандартной библиотеке языка Си, для указания того, как программа обрабатывает сигналы во время её выполнения. Сигнал может быть как синхронным с помощью вызова raise
, так и асинхронным.
Сигна́лы межпроцессного взаимодействия — являются сообщениями, которые операционная система посылает процессу или один процесс посылает другому. С точки зрения пользователя получение процессом сигнала выглядит как возникновение исключительной ситуации (прерывания). Когда процесс получает сигнал, выполнение программы процесса прерывается, и управление передается на подпрограмму (функцию) — обработчик сигнала. После выполнения обработчика сигнала выполнение прерванной программы возобновляется с той точки, на которой она была прервана.