Chapter 12. Signal Processing

Signals are the simplest form of interprocess communication in the POSIX world. They allow a process to be asynchronously interrupted by another process (or by the kernel) to handle some event. Once the signal has been handled, the interrupted process resumes from the point of interruption. Signals are used for tasks such as terminating processes and telling daemons to reread their configuration file.

Signals have always been an integral part of Unix. The kernel uses them to inform a process of a variety of events, including:

  • The death of one of the process’s children.

  • An alarm set by the process has expired.

  • The size of the terminal window has changed.

All of these messages share an important property: They are all asynchronous. ...

Get Linux Application Development, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.