The manual refers to a very basic mechanism that allow processes or the operation system to notify other processes by sending a signal. The operation system can use it to notify programs about abortions of them (signal SIGABRT
) or about a segmentation fault (often caused by accessing a null-pointer, SIGSEGV
), to name two of them.
Some unix servers use signals so the administrator can use kill
to send them a signal, causing them to re-read their configuration file, without requiring them to restart.
There are default actions taken for some signals and other signals are just ignored. For example on receive of a SIGSEGV
, the program terminates, while receiving a SIGCHLD
, meaning a child-process died, will by default result in nothing special.
There is a ANSI C standard function that installs a signal handler, which is a function that can execute some code when receiving a signal, called signal
(read in man signal
). In different unix's, that function behave different, so its usage is discouraged. Its manpage refers to the sigaction
function (read man sigaction
), which behaves consistent, and is also more powerful.