A daemon is a background process, also known as a service, usually started during the initial boot sequence by ?init. Daemons typically run independent of users, waiting for events to occur and providing services. Some common daemons include:
sshd - listens for and manages incoming SSH connections
acpid - listens for power management events and triggers scripts based on them)
apache - provides a local HTTP web server
Daemons under Debian
Debian makes use of System V-style init scripts for daemon management, allowing daemons to run conditionally, based on the current RunLevel of the computer. For example, a daemon can be configured to run only when the computer is in single-user mode (runlevel 1) or, more commonly, when in multi-user mode (runlevels 2-5). For more information, see RunLevel.
Debian daemon configuration
Note: Many daemons provide essential services to a working Debian installation; others can pose as unnecessary security risks when enabled. Caution should be used whenever managing daemons. When in doubt, refer to the documentation of the daemon itself.
Start, stop and reload daemons
The easiest way to manually (and temporarily) start, stop or reload a daemon is the run the following in a console or terminal as root:
# /etc/init.d/daemonname [stop|start|restart]
Controlling daemons in this manner is temporary and will not survive a reboot. Refer to the next section to manage daemons on a more permanent basis.