What Is Daemon (Linux Computing)?

Daemon is a term popularly used in computing especially in operating systems. Daemon is a process which is runs in the background in order to fulfill different tasks. The daemon term is popularly used in Unix, Linux, and BSD systems in order to define services. The Microsoft Windows counterpart of the daemon is service. The name daemon first used by the programmer of the MIT Project MAC. It is very interesting that the daemon comes from mythology where it is an imaginary being operating background. The daemon is used to run multiple tasks, programs as a background process.

Naming Daemon

In Unix, Linux and BSD there are different types of daemons used for different tasks and serving resources. these daemons use names with ending with a d as a process to depict it is a daemon, not a regular process.

Manage Daemon

Daemons can be managed using commands like systemctl , service , /etc/init.d scripts and commands etc. But today the systemctl command is the defacto standard to manage daemons. Existing daemons can be listed with the following systemctl command.

$ systemctl

A specific daemon and its current status can be listed like below. In the following example we will list the SSH daemon which is named as ssh as a services but the process it named as sshd.

$ systemctl status ssh
SSH or OpenBSD Secure Shell Server Daemon

We can see from the Man PID line which is sshd which is short form of the SSH Daemon .

A daemon can be stopped with the systemctl stop command like below. But this operation generally requires root privileges which can be provided with the sudo command like below.

$ sudo systemctl stop ssh

Daemon vs Program

You may ask what is difference between a daemon and program. Both of the daemon and program are executeable files which are running. The main difference is the daemon is designed and configured to start automatically, run in the background, accept connections etc. The program generally executed in foreground where it is used interactively and may provide a GUI. The naming of the daemon is set explicitly where the short form of daemon which is d is added after the program name. For example the ssh daemon is named as sshd or syslog daemon is named as syslogd .

Popular Daemons

There are a lot of daemons which are very popular in Linux distributions which are used to accomplish different tasks.

autofs is a deamon that is used to automatically mount different file systems and partitions like NTFS, FAT32, EXT4, etc.

The daemon crond is another popular daemon which is used to run and execute for task scheduler.

dhcpd is used to executed DHCP related operations like request IP address from DHCP server or relase currently assigned IP address.

The ftpd daemon is used to provide the FTP server or service to the FTP clients for file and folder transfer.

Leave a Comment