Systemd and Linux Daemons: Everything You Need to Know :B7:

Khushal MalikKhushal Malik
3 min read

In the mystical land of Linux, where code warriors and sysadmins roam, there exists a hidden realm of tireless servants known as daemons. These mythical creatures, named after invisible task-doers from ancient folklore, work behind the scenes to keep our digital kingdoms running smoothly. Today, we'll take a whimsical journey into the world of daemons and their supreme overlord, systemd. Buckle up, and don't forget to tip your sysadmin!

What Are Daemons?

A daemon is a background process that runs without direct user interaction. Imagine them as the magical house-elves of your system, handling various tasks like logging, scheduling, and managing network connections. They ensure everything runs seamlessly, so you can focus on your heroic coding quests.

Identifying Daemons

Spotting a daemon is like finding Waldo in a crowd. Look for process names ending with a "d" (e.g., httpd for the Apache HTTP Server, sshd for the Secure Shell daemon). These are the telltale signs of daemons hard at work.

Managing Processes in Linux

To see all the processes running on your system, use the command:

ps -aux

If you want to find a specific process, you can use the grep command:

ps -aux | grep "process_name"

For example, to find the notepad process:

ps -aux | grep "notepad"

Introducing systemd

Meet systemd, the grandmaster of all daemons and the central management hub in many Linux distributions. This mighty daemon is the first to awaken when you boot your system (PID 1) and oversees the initialization and management of all other processes. Unlike traditional init systems, systemd uses units to manage system services, because why call them services when you can call them units?

Checking the Systemd Process Tree

To visualize the process hierarchy starting from systemd, use:

pstree

Behold the majestic tree of processes, with systemd at the root, like the World Tree Yggdrasil of your Linux universe.

Managing Daemons with systemctl

systemctl is the magic wand (or command-line utility) used to interact with systemd and manage daemons. Here are some common systemctl spells:

  • Stop a daemon:

      sudo systemctl stop ntp
    
  • Start a daemon:

      sudo systemctl start ntp
    
  • Restart a daemon:

      sudo systemctl restart ntp
    
  • Check the status of a daemon:

      sudo systemctl status ntp
    
  • Reload a daemon:

      sudo systemctl reload ntp
    
  • Disable a daemon:

      sudo systemctl disable ntp
    
  • Enable a daemon:

      sudo systemctl enable ntp
    
  • Check if a daemon is active:

      sudo systemctl is-active ntp
    
  • Check if a daemon is enabled:

      sudo systemctl is-enabled ntp
    

Listing Units and Services

To list all units (services, sockets, devices, etc.) managed by systemd, use:

sudo systemctl list-units

For a list of all service units:

sudo systemctl list-units -t service

To list all unit files and find a specific daemon:

sudo systemctl list-unit-files | grep "nginx"

Conclusion

By understanding and effectively managing daemons using systemd, you can ensure your Linux system runs as smoothly as a well-oiled machine—or a magical kingdom. May your daemons be diligent, and your systemd be ever vigilant! Happy managing!

Note:-B7 is blog post 7 of this series

B1 link :- https://khushalmalik.hashnode.dev/the-rise-of-linux

Make sure you subscribe to Newsletter and Do follow !!!!!!!

SYSTUMM 😎{ELVISH YADAV}

#Khushal_Malik #Devops #Cloud #LinuxDaemons #Systemd #LinuxBackgroundProcesses #ManagingDaemons #SystemctlCommands #LinuxSysadmin #LinuxProcessManagement #SystemdUnits #LinuxServices #SystemdTutorial #ManageLinuxDaemonsWithSystemd #UnderstandingSystemdAndLinuxDaemons #SystemctlBestPractices #IdentifyAndManageDaemons #SystemdSystemctlGuide #SystemdProcessTreeVisualization #LinuxServicesWithSystemd #CheckDaemonStatusSystemctl #EnableDisableDaemonsSystemctl #SystemdForLinuxSysadmins


13
Subscribe to my newsletter

Read articles from Khushal Malik directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Khushal Malik
Khushal Malik

I am an Devops Cloud Eng. with 2 years of experience