Debug School

rakesh kumar
rakesh kumar

Posted on

what is daemon

What Daemons are Running on Your Machine?
Types of processes in Linux?
What command is used to look What Daemons are Running on Your Machine?
Examples of Linux Daemons
Real life example of daemons
Why the Gradle Daemon is important for performance

Daemons work hard so you don’t have to.

  • A daemon is a computer program that runs as a background process, rather than being under the direct control of an interactive user
  • Imagine that you are writing an article, Web page, or book, Your intent is to do just that – write. It’s rather nice not having to manually start printer and network services and then monitor them all day to make sure that they are working right.
  • We can thank daemons for that – they do that kind of work for us.
  • A daemon (usually pronounced as: day-mon, but sometimes pronounced as to rhyme with diamond) is a program with a unique purpose.
  • They are utility programs that run silently in the background to monitor and take care of certain subsystems to ensure that the operating system runs properly. A printer daemon monitors and takes care of printing services. A network daemon monitors and maintains network communications, and so on.
  • Having gone over the pronunciation of daemon, I’ll add that, if you want to pronounce it as demon, I won’t complain.
  • Daemons perform certain actions at predefined times or in response to certain events. There are many daemons that run on a Linux system, each specifically designed to watch over its own little piece of the system, and because they are not under the direct control of a user,
  • They can be found in ps, top, or htop process lists
  • The pstree command is a handy little utility that shows the processes currently running on your system

Types of processes in Linux?

daemons are instantiated as the processes. These processes are the running or executing instances of a program. A process is handled by the kernel which is the operating system's core and it assigns all the special process identification numbers.

In Linux, there are mainly three common kinds of processes which are as follows:

Enter fullscreen mode Exit fullscreen mode

The batch process is submitted through a processes queue and is not related to the command line. These processes are well suited to perform recurring operations if the usage of the system is low.
**Batch processes **are those that do not require the use of the command line and are selected from a list of options. Consider them to be “task groups.” These work best when the system isn’t overloaded.

The interactive process is interactively executed by the user on the command line.

Interactive processes are those that are run from the command line by a user

The daemon is identified by a system like those processes whose parent process contains a PID of one.

System backups, for example, are typically performed at night when no one is using the system during the day. I used to run disc utilization inventories, system behavior analysis scripts, and other things late at night when I was a full-time system administrator

Always, it defines the process init. The init process is the initial process that is begun when a Linux system is started up and it remains over the system until the system is shut down.

The init can adopt any type of process whose parent process terminates or dies without waiting for the status of the child process.

So, the basic technique to launch the daemon is dividing or forking twice or once and also enabling the parent processes to terminate while the child process starts implementing its general function.

Even though interactive processes and batch jobs can operate in the background and provide some monitoring, they are not daemons.

What command is used to look What Daemons are Running on Your Machine?

A running daemon can be spotted in a variety of ways. They can be found in ps, top, or htop process lists.

Examples of Linux Daemons

systemd – the main purpose of this daemon is to unify service configuration and behavior across Linux distributions.

rsyslogd – used to log system messages. This is a newer version of syslogd having several additional features. It supports logging on local systems as well as on remote systems.

udisksd – handles operations such as querying, mounting, unmounting, formatting, or detaching storage devices such as hard disks or USB thumb drives

logind – a tiny daemon that manages user logins and seats in various ways

httpd – the HTTP service manager. This is normally run with Web server software such as Apache.
sshd** – Daemon responsible for managing the SSH service. This is used on virtually any server that accepts SSH connections.

ftpd – manages the FTP service – FTP or File Transfer Protocol is a commonly-used protocol for transferring files between computers; one act as a client, the other act as a server.

*crond *– the scheduler daemon for time-based actions such as software updates or system checks.

Real life example of daemons

Examples of conditions or actions that could activate daemons into the activity can be a particular date or time, passage of a described time interval, receipt of a web request or email created from a specific communication line, and a file landing in a specific directory.

Why the Gradle Daemon is important for performance

The Daemon is a long-lived process, so not only are we able to avoid the cost of JVM startup for every build, but we are able to cache information about project structure, files, tasks, and more in memory.

The reasoning is simple: improve build speed by reusing computations from previous builds. However, the benefits are dramatic: we typically measure build times reduced by 15-75% on subsequent builds. We recommend profiling your build by using --profile to get a sense of how much impact the Gradle Daemon can have for yo

Top comments (0)