What is the difference between a daemon and a server process?

Asked by Pari Kulkarni

Q.What is the difference between a daemon and a server process?

A. A ‘daemon’ is a software process that runs in the background (continuously) and provides the service to client upon request. For example named is a daemon. When requested it will provide DNS service. Other examples are:

  • xinetd (it is a super-daemon, it is responsible for invoking other Internet servers when they are needed)
  • inetd (same as xinetd, but with limited configuration options)
  • sendmail/postfix (to send/route email)
  • Apache/httpd (web server)

Following simple example illustrate relationship between client and daemon.

CLIENT  -> Daemon

Browser Running one daemon for each of the services could significantly increase the load. However if you are running big site (with many user) it is advisable to use dedicated daemon. For example web server or MySQL database server.

A ‘server process’ run runs one time, when called by a daemon. Once done it will stop. For example telnetd (in.telnetd) or ftpd called from xinetd/inetd daemon . By calling server process from daemon you can save the load and memory. Use a server process for small services such as ftpd, telnetd

CLIENT -> Daemon   -> Calls server process
ftp    -> xinetd   -> Calls ftpd
ftp     xinetd stops ftpd
quit
🐧 If you liked this page, please support my work on Patreon or with a donation.
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source & DevOps topics via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
4 comments… add one
  • SHARAD GALANDE Dec 13, 2011 @ 8:10

    If you have made new chenges in the configuration file you can simply run below:
    # service refresh
    OR
    # service reload

    If you want to disable/enable one of the specific service which are under xinetd/inetd daemon you can simply comment out that particular filel in xinetd conf file.

  • adinarayana Dec 24, 2007 @ 17:02

    it is good

    if i want to restart a service can i directly restart the service

    or i want to restart pariticular daemon

    what is difference

    can u clear this

    thanks in advance.

    • BMK May 25, 2011 @ 10:22

      hi u can restart any one or both (service or daemon) and if u install daemon newly u must & shod restart the daemon

      • Nagaraju Jun 18, 2011 @ 10:26

        its good

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.