Руководство относится к основному механизму, который позволяет процессам или операционной системе уведомлять другие процессы, отправляя сигнал. Операционная система может использовать ее для уведомления программ об их прерывании (сигнал SIGABRT
) или об ошибке сегментации (часто вызванной доступом к нулевому указателю SIGSEGV
), чтобы назвать два из них.
Некоторые серверы Unix используют сигналы, поэтому администратор может использовать kill
для отправки им сигнала, заставляя их перечитывать файл конфигурации, не требуя их перезапуска.
Для некоторых сигналов выполняются действия по умолчанию, а другие просто игнорируются. Например, при получении SIGSEGV
программа завершает работу, в то время как получение SIGCHLD
, означающее, что дочерний процесс умер, по умолчанию ничего не даст.
Существует стандартная функция ANSI C, устанавливающая обработчик сигнала, которая может выполнять некоторый код при получении сигнала, которая называется signal
(читается в man signal
). В разных версиях Unix эта функция ведет себя по-разному, поэтому ее использование не рекомендуется. Его man-страница ссылается на функцию sigaction
(читай man sigaction
), которая ведет себя согласованно, а также является более мощной.