From ArchWiki
Revision as of 07:21, 26 October 2012 by Thestinger (talk | contribs) (List of Daemons: to sub-page, this is getting huge and has questionable value to most readers)
Jump to: navigation, search

zh-CN:Daemon A daemon is a program that runs in the background, waiting for events to occur and offering services. A good example is a web server that waits for a request to deliver a page or a ssh server waiting for someone trying to log in. While these are full featured applications, there are daemons whose work is not that visible. Daemons are for tasks like writing messages into a log file (e.g. syslog, metalog) or keeping your system time accurate (e.g. ntpd). For more information see man 7 daemon.

Note: The word daemon is sometimes used for a class of programs that are started at boot but have no process which remains in memory. They are called daemons simply because they utilize the same startup/shutdown framework (e.g. systemd service files of Type oneshot) used to start traditional daemons. For example, the service files for alsa-store and alsa-restore provide persistent configuration support but do not start additional background processes to service requests or respond to events.

From the user's perspective the distinction is typically not significant unless the user tries to look for the "daemon" in a process list.

Systemd system

Starting on Boot

A default install of Arch Linux will leave you with very few services (or daemons) enabled during boot. You can add or remove services to be started on boot by calling

# systemctl enable <name>


# systemctl disable <name>

The services themselves contain the necessary ordering information, so there is no need to order them manually.

Service files are stored in /{etc,usr/lib,run}/systemd/system. You can print the list of all the available services on your system, along with their current status, with:

$ systemctl list-unit-files

To see a list of running units (some of which will be daemons, amongst other things), type:

$ systemctl list-units

To see all available ones, add --all to the end of a command.

To start or stop services at runtime, you can replace enable/disable by start/stop in the above command.

You can read more at the Systemd#Systemd_commands section.


You do not have to add any more services, if you do not feel the need. However, a typical desktop user will add at least CUPS and a desktop manager such as gdm or kdm. As you install new services, you will have to manually enable them if you want them to be started on boot.

List of Daemons

See Daemon/List for a list of daemons with the name of the service and legacy rc.d script.

See also