4.17. Programs That Serve You
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.
 |  |  | | 4.16. Important Directories |  | 4.18. Processes |
Copyright © 2001 O'Reilly & Associates. All rights reserved.
|