Поиск по сайту:
Какая разница между машиной тьюринга и современной эвм? Такая же, как между восхождением хиллари на эверест и открытием отеля "Хилтон" на его вершине. (Алан.Дж.Перлис)

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

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

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

 

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

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

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

 

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

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

 

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

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

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

  • sshd управляет SSH-соединениями.
  • cron планирует задачи.
  • apache2 обслуживает веб-страницы.

 

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

 

Пример:

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

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

 

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

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

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

  • Процессы переднего плана: запускаются пользователем и взаимодействуют непосредственно с пользователем (например, веб-браузер или текстовый редактор).
  • Фоновые процессы: они выполняются без участия пользователя (например, загрузка файла или обновление системы).
  • Демоны: особый тип фоновых процессов, предоставляющих системные услуги.
Читать  Решить проблему: неверная замена Bash

 

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

ps aux

 

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

ps aux | grep nano

 

Пример:

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

 

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

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

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

  • Запуск и остановка системных служб (демонов).
  • Управление зависимостями между службами.
  • Обработка выключения и перезагрузки системы.

 

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

  • Systemd: наиболее широко используемая система инициализации в современных дистрибутивах Linux (например, Ubuntu, Fedora, Debian). Команды для управления systemd — systemctl, и journalctl.
  • SysVinit: более старая система инициализации, используемая в традиционных дистрибутивах Linux. Команды для управления SysVinit: service/etc/init.d/.
  • OpenRC: современная, гибкая и лёгкая система инициализации, часто используемая в GentooAlpine Linux и Artix Linux.
  • Upstart: переходная система инициализации, используемая в некоторых старых версиях Ubuntu. Команда для управления — initctl. В настоящее время она устарела, так как большинство последних дистрибутивов Ubuntu перешли на systemd.

 

Пример:

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

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

Читать  Как найти номер модели ноутбука

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

ps -pid 1

 

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

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

 

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

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

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

 

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

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

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

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

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

 

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

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

 

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

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

Читать  Заявление if..else в Bash

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

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

 

Объяснение:

  • systemctl → Основная команда для управления службами в Systemd.
  • 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 "+"

 

Объяснение:

  • 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

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

 

Заключение

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

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
В России есть удобное решение – Chad AI, специализированный русскоязычный…

Спасибо!

Теперь редакторы в курсе.