We’re including this section because you should start to be interested in what’s running on your system behind your back.
Many modern computer activities are too complex for the system simply to look at a file or some other static resource. Sometimes these activities need to interact with another running process.
For instance, take FTP, which you may have used to download some Linux-related documents or software. When you FTP to another system, another program has to be running on that system to accept your connection and interpret your commands. So there’s a program running on that system called ftpd. The d in the name stands for daemon, which is a quaint Unix term for a server that runs in the background all the time. Most daemons handle network activities.
You’ve probably heard of the buzzword client/server enough to make you sick, but here it is in action—it has been in action for years on Unix.
Daemons start up when the system is booted. To see how they get
started, look in the /etc/inittab
and /etc/inetd.conf
files, as well as distribution-specific configuration files. We won’t
go into their formats here. But each line in these
files lists a program that runs when the system starts. You can find
the distribution-specific files either by checking the documentation
that came with your system or by
looking for pathnames that occur more
often than others in /etc/inittab
. Those normally
indicate the directory tree where your distribution stores its system
startup-files.
To give an example of how your system uses /etc/inittab
,
look at one or more lines
with the string getty
or agetty
. This is the program that
listens at a
terminal (tty) waiting for a user to log in. It’s the program that
displays the login :
prompt we talked about at the beginning of
this chapter.
The /etc/inetd.conf
file represents a more complicated way of
running programs—another level of indirection. The idea behind
/etc/inetd.conf
is that it would waste a lot of system
resources if a dozen or more daemons were spinning idly, waiting for a
request to come over the network.
So, instead, the system starts up a single daemon named
inetd. This daemon listens for connections from
clients on other machines, and when an incoming connection is made,
starts up the appropriate daemon to handle it. For example, when an
incoming FTP connection is made,
inetd starts up the FTP daemon
(ftpd) to manage the connection. In this way, the
only network daemons running are those actually in use.
In the next section, we’ll show you how to see which daemons are running on your system. There’s a daemon for every service offered by the system to other systems on a network: fingerd to handle remote finger requests, rwhod to handle rwho requests, and so on. A few daemons also handle nonnetworking services, such as kerneld, which handles the automatic loading of modules into the kernel.
Get Running Linux, Third 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.