Difference between revisions of "Daemons"

From ArchWiki
Jump to navigation Jump to search
(List of Daemons: unlist alsa daemon, apparently now gone)
(List of Daemons: replace avahi-mdns (apparently now gone) with avahi-dnsconfd)
Line 39: Line 39:
|crond||Daemon to schedule and time events.
|crond||Daemon to schedule and time events.

Revision as of 10:18, 3 June 2010

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

A daemon is a program that runs in the background, waiting for events to occur and offering services. A good example is a webserver 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. A daemon which writes messages into a log file (e.g. syslog, metalog), a daemon which lowers your CPU frequency if the system has nothing to do.

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 by editing the daemon array line in your rc.conf file. It will initially look something like this:

DAEMONS=(syslog-ng network netfs crond)

They will start in the order you have them listed. You can disable one and keep it in the array by prefixing it with an exclamation mark (!). You can also have them start in the background by adding an at (@) symbol in front of it.

Manual Starting and Stopping

You can see what service start up scripts you have by looking in your /etc/rc.d/ directory. You can also manually start, stop, and restart them by issuing

/etc/rc.d/daemonname {start|stop|restart}

They may also have other commands, check with the documentation.


You do not have to add any more services, if you do not feel the need. However, the typical desktop users may add CUPS, HAL, and ALSA, if they wish. As you install new services, you will have to manually add them to the daemon array in rc.conf.

Note: Some services will start other services. For example, HAL will automatically start D-Bus and Acpid. Keep in mind, as it has been mentioned elsewhere, that HAL would sometimes fail to automatically start D-Bus, without the user's awareness. It is considered good practice to add D-Bus explicitly before HAL and not to "background" it. This will let the user know during bootup if it fails to start, before other services dependent on D-Bus break.

Starting Daemons in Background

This is helpful for starting a service and letting the next service start before the previous one has finished. Which services to start background depends on your needs. Do not background anything you need immediately. Here is an example:

DAEMONS=(syslog-ng gensplash network netfs dbus hal @avahi-daemon @samba @crond @alsa @openntpd @cups @mpd)

Starting openntpd in the background could lead to synchronization errors between the actual time and the time stored on your computer. If you recognize an increasing time difference between your desktop clock and the actual time, try to start the openntpd daemon normally and not in the background.

ArchLinux Daemon Manager GUI

You can install ArchLinux Daemon Manager from AUR and you will be able to easily change settings in /etc/rc.conf using GTK aplication aldm-gui or commandline application aldm.

List of Daemons

(Here is a list of daemons, although it might not be complete. Please feel free to add any missing daemons here, in alphabetical order.)

Daemon Description
crond Daemon to schedule and time events.
cups Common UNIX Printing System daemon.
dbus Message bus system for software communication.
fam File Alteration Monitor.
hal Hardware Abstraction Layer.
mpd Music Player Daemon.
mysqld Daemon to connect to MySQL databases.
netfs Mounts network file systems.
openntpd Network Time Protocol daemon (client and server).
pure-ftpd FTP server.
rsyslogd The latest version of a system logger.
samba File and print services for Microsoft Windows clients.
sensors Hardware (temperature, fans etc) monitoring.
sshd Open SSH (secure shell) daemon.
stbd This daemon was previously necessary for gnome-system-tools. However, as of gnome-tools 2.28, it is no longer needed.
syslogd This was the older and basic system logger.
syslog-ng System logger next generation.