"Signals are software interrupts that send information about an occurrence of an asynchronous event to an executing program, or process. Signals are generated for a variety of reasons such as timer expiration. Most hardware traps--illegal instructions, access to invalid addresses, and so on--are converted to signals.
"Signals can be generated by the process itself, or they can be sent from one process to another. A variety of signals can be generated or delivered, and they have many uses for programmers..."