Go to the previous, next section.

Miscellaneous Signals

These signals are used to report various other conditions. The default action for all of them is to cause the process to terminate.

Macro: int SIGPIPE

If you use pipes or FIFOs, you have to design your application so that one process opens the pipe for reading before another starts writing. If the reading process never starts, or terminates unexpectedly, writing to the pipe or FIFO raises a SIGPIPE signal. If SIGPIPE is blocked, handled or ignored, the offending call fails with EPIPE instead.

Pipes and FIFO special files are discussed in more detail in section Pipes and FIFOs.

Another cause of SIGPIPE is when you try to output to a socket that isn't connected. See section Sending Data.

Macro: int SIGUSR1

Macro: int SIGUSR2

The SIGUSR1 and SIGUSR2 signals are set aside for you to use any way you want. They're useful for interprocess communication. Since these signals are normally fatal, you should write a signal handler for them in the program that receives the signal.

There is an example showing the use of SIGUSR1 and SIGUSR2 in section Signaling Another Process.

Go to the previous, next section.