From ArchWiki
Revision as of 06:48, 17 March 2009 by Sandstorm (talk | contribs) (Starting Daemons in Background)
Jump to: navigation, search

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end 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's frequency if your 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 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/nameofservice {start|stop|restart}

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


You don't necessarily have to add anymore if you don't feel the need. Typical desktop user may want to add CUPS, HAL, and ALSA. Note, some services will start other services. For example HAL will automatically start DBUS and Acpid. Keep in mind as you install new services you will have to manually add them to rc.conf.

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. Don't background anything you need immediately. Here's an example.

DAEMONS=(syslog-ng gensplash network netfs 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 normal and not in the background.