is an asynchronous notification of an event, and
is said to be ``generated for'' (or ``sent to'') a process when the event that causes the signal first occurs.
A signal may be sent to a process by another process,
from the terminal or by the system itself.
A signal can be generated several ways, including:
Signals are the most frequently used means to notify a process of the occurrence of some event that may have an impact on that process.
In some circumstances, the same event generates signals for multiple processes.
All signals have the same
If multiple signals
are pending simultaneously, the order in which they are delivered
to a process is implementation-specific.
An error during a system call.
Some condition raised at the controlling-terminal of a process (such as break or hangup).
An explicit system call to kill(S),
Expiration of the alarm clock timer or the generation of the trap signal during process tracing.
Multithreading brings additional complexity and additional capabilities
to signal management.
Signal semantics for multithreaded applications
are described in
This also describes the recommended paradigm
for signal management in multithreaded programs.
Signals, job control and pipes
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 02 June 2005