These signals are used to report various errors generated by an operation done by the program. They do not necessarily indicate a programming error in the program, but an error that prevents an operating system call from completing. The default action for all of them is to cause the process to terminate.
int
SIGPIPE ¶Broken pipe. 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 Pipes and FIFOs.
Another cause of SIGPIPE
is when you try to output to a socket
that isn’t connected. See Sending Data.
int
SIGLOST ¶Resource lost. On GNU/Hurd systems, SIGLOST
is generated when
any server program dies unexpectedly. It is usually fine to ignore
the signal; whatever call was made to the server that died just
returns an error. This signal’s original purpose of signalling a lost
NFS lock is obsolete.
int
SIGXCPU ¶CPU time limit exceeded. This signal is generated when the process exceeds its soft resource limit on CPU time. See Limiting Resource Usage.
int
SIGXFSZ ¶File size limit exceeded. This signal is generated when the process attempts to extend a file so it exceeds the process’s soft resource limit on file size. See Limiting Resource Usage.