ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Пятница, 31 января, 2025

Как отобразить список всех запущенных демонов в Linux

Как отобразить список всех запущенных демонов В Linux

daemon  (Демон) — это фоновый процесс, который работает без непосредственного взаимодействия с пользователем. В системах Linux для управления демонами используются различные системы инициализации (init). Наиболее распространёнными являются Systemd, SysVinit и OpenRC. В этом руководстве мы рассмотрим различные способы вывода списка всех запущенных демонов для каждой системы инициализации в Linux.

 

Понимание daemon (Демонов), процессов и систем инициализации

Прежде чем перейти к теме, позвольте мне вкратце объяснить следующие ключевые термины, поскольку они важны для понимания остальной части руководства.

  1. Демон,
  2. Процесс,
  3. Система инициализации.

 

Если вы хотите управлять службами (например, запускать или останавливать веб-сервер), вам нужно разбираться в демонах и системе инициализации.

Если вы хотите отслеживать или устранять неполадки в своей системе, вам нужно понимать процессы.

 

1. Что такое Демон?

Демон — это фоновый процесс, который непрерывно работает в системе Linux, обычно без прямого взаимодействия с пользователем.

Демоны предоставляют важные услуги системе или другим программам. Например:

 

Обычно демоны запускаются при загрузке системы и работают до её выключения.

 

Пример:

Если вы используете веб-сервер, демон apache2 или nginx работает в фоновом режиме, обрабатывая веб-запросы.

Забавный факт: имена демонов часто оканчиваются на «d» (например, sshdcrond).

 

2. Что такое Процесс?

Процесс — это любая программа или задача, которая в данный момент выполняется в вашей системе.

Типы процессов:

 

Вы можете перечислить все процессы, используя команды типа ps или top.

ps aux

 

Вы можете проверить PID конкретного процесса (например, nano) с помощью команды:

ps aux | grep nano

 

Пример:

Когда вы открываете терминал, запускается процесс bash . Если вы запускаете команду, например ls, для выполнения этой команды создаётся новый процесс.

 

3. Что такое система инициализации?

Система инициализации — это первый процесс, который запускается при загрузке системы Linux (с идентификатором процесса 1 или PID 1). Он управляет всеми остальными процессами и службами в системе.

Система инициализации отвечает за:

 

Вот некоторые из распространенных систем инициализации:

 

Пример:

При загрузке системы система инициализации запускает основные демоны, такие как sshd (для SSH) и cron (для запланированных задач).

Система инициализации запускает демонов (фоновые службы) и управляет ими. Как демоны, так и обычные программы (например, веб-браузер) являются типами процессов. Вы можете перечислить все процессы, используя такие инструменты, как ps, но вам нужны команды, специфичные для инициализации (например, systemctl) для управления демонами.

Чтобы проверить вашу систему инициализации, запустите:

ps -pid 1

 

Пример вывода:

PID TTY      TIME     CMD
1 ?        00:00:00 systemd

 

Это означает, что система использует Systemd.

Сводная таблица

Термин Определение Пример
Демон Фоновый процесс, предоставляющий системные службы. sshdcronapache2.
Процесс Любая запущенная программа или задача в системе. bashlssshd.
Система инициализации Первый процесс, который запускается при загрузке и управляет всеми остальными процессами / службами. systemdSysVinitOpenRCUpstart.

 

Процессы против Демонов

Как мы уже отмечали, процесс — это любая запущенная программа или задача в вашей системе (например, текстовый редактор, веб-браузер или фоновая служба).

Демон — это особый тип процесса, который работает в фоновом режиме без взаимодействия с пользователем, обычно предоставляя системные услуги (например, обрабатывая сетевые подключения, ведение журналов или планирование задач).

Вот ключевые различия между процессами и демонами:

Особенность Процесс Демон
Работает в фоновом режиме? Нет (обычно выполняется на переднем плане) ДА
Подключен к терминалу? Да (при запуске пользователем) Нет (отсоединен от терминала)
Пример firefoxnanohtop sshdcronsystemd-journald
Управляемый Пользователь или система Система инициализации (systemdSysVinitOpenRC)

 

Хорошо. Надеюсь, теперь вы хорошо понимаете, что такое демоны, процессы и системы инициализации. Теперь давайте научимся выводить список демонов для каждой системы инициализации.

Во-первых, давайте начнем с Systemd.

 

1. Перечислите всех запущенных демонов, используя Systemd

Systemd использует сервисы для управления демонами. Systemd является системой инициализации по умолчанию во многих современных дистрибутивах Linux, таких как Arch Linux, Debian, Fedora, RHEL и Ubuntu.

Вы можете проверить запущенные службы с помощью:

systemctl list-units --type=service --state=running

 

Объяснение:

 

Пример вывода:

  UNIT                      LOAD   ACTIVE SUB     DESCRIPTION                                            
  accounts-daemon.service   loaded active running Accounts Service
  avahi-daemon.service      loaded active running Avahi mDNS/DNS-SD Stack
  bluetooth.service         loaded active running Bluetooth service
  bolt.service              loaded active running Thunderbolt system service
  colord.service            loaded active running Manage, Install and Generate Color Profiles
  cron.service              loaded active running Regular background program processing daemon
  cups-browsed.service      loaded active running Make remote CUPS printers available locally
[...]
Перечислите все запущенные демоны с помощью команды systemd в Linux

2. Отобразите все запущенные демоны с помощью SysVinit

SysVinit использует сценарии инициализации, хранящиеся в /etc/init.d/. Он используется в более старых версиях дистрибутивов Linux, таких как Debian 7, CentOS 6.

Чтобы составить список запущенных служб:

service --status-all | grep "+"

 

Объяснение:

 

Пример вывода:

 [ + ]  cron
 [ + ]  networking
 [ - ]  apache2

 

Здесь cron и networking выполняются, в то время как apache2 остановлены.

 

3. Просмотр запущенных демонов с помощью OpenRC

OpenRC управляет службами с помощью rc-status в некоторых дистрибутивах Linux, таких как Alpine Linux и Gentoo.

Чтобы составить список активных демонов:

rc-status

 

Пример вывода:

Runlevel: default
 sshd                                                           [  started  ]
 crond                                                          [  started  ]

 

Контрольная таблица для перечисления запущенных демонов в Linux

Система инициализации Команда для составления списка запущенных демонов
Systemd systemctl list-units --type=service --state=running
СисВинит service --status-all
OpenRC rc-status

 

Заключение

В этой статье мы рассмотрели понятия процессовдемонов и систем инициализации, а также ключевые различия между процессами и демонами, чтобы прояснить их роль в системе Linux.

Мы также рассказали, как выводить список запущенных демонов в разных системах инициализации, таких как Systemd, SysVinit и Upstart, и привели практические примеры.

Мы надеемся, что это руководство было полезным!

Exit mobile version