Chapter 11. Shared Data and Exim Processes
In the overview of Exim’s operation in Chapter 3, the use of multiple processes is mentioned. In this chapter, we are going to describe the different types of process that are used for handling messages. This is background information about the way Exim works, which may be useful when you want to understand exactly what it is doing. The four process types are as follows:
- The daemon process
A daemon process listens for incoming SMTP connections, and starts a reception process for each one. The daemon may also periodically start queue runner processes. There is only one daemon process.
- Reception processes
A reception process accepts an incoming message and stores it on Exim’s spool disk.
- Queue runner processes
A queue runner process scans the list of waiting messages, and starts a delivery process for each one.
- Delivery processes
A delivery process performs one delivery attempt on a single message.
Most Exim processes are short-lived. They perform one task, such as receiving or delivering one message, and then exit. The only exception is the daemon process, which, as its name implies, runs continuously. Each Exim process that is receiving or delivering a message operates, for the most part, independently of any other Exim process. Nevertheless, Exim processes do interact with each other by referring to shared files. We describe these first, because their contents affect the way the processes operate. The files fall into three categories, as shown ...