Поиск по сайту:
Проявить мудрость в чужих делах куда легче, нежели в своих собственных (Ф. Ларошфуко).

Список служб Linux с помощью Systemctl

22.01.2021

В Linux служба – это программа, работающая в фоновом режиме . Службы можно запускать по запросу или во время загрузки.

Если вы используете Linux в качестве основной операционной системы или платформы разработки, вы будете иметь дело с различными службами, такими как веб-сервер, ssh или cron . Знание того, как перечислить запущенные службы или проверить статус службы, важно при отладке системных проблем.

Большинство последних дистрибутивов Linux используют systemd в качестве системы инициализации и диспетчера служб по умолчанию.

Systemd – это набор инструментов для управления системами Linux. Он используется для загрузки машины, управления службами, автоматического монтирования файловых систем, регистрации событий, настройки имени хоста и других системных задач.

В этой статье объясняется, как составить список служб в Linux.

 

Список служб Linux

Systemd использует концепцию модулей, которыми могут быть службы, сокеты, точки монтирования, устройства и т. д. Модули определяются с помощью текстовых файлов в формате ini. Эти файлы содержат информацию об устройстве, его настройках и командах для выполнения. Расширения файлов определяют тип файла модуля. Например, файлы служебных модулей системы имеют расширение .service.

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

Чтобы получить список всех загруженных служебных единиц, введите:

sudo systemctl list-units --type service
UNIT          LOAD      ACTIVE SUB     DESCRIPTION                                                              
cron.service  loaded    active running Regular background program processing daemon 
...

 

Читать  Pyvoc - инструмент для создания словаря и словаря командной строки

Каждая строка вывода содержит следующие столбцы слева направо:

  • UNIT – Название сервисной единицы.
  • LOAD – Информация о том, загружен ли в память файл объекта.
  • ACTIVE – Состояние активации файла модуля высокого уровня, которое может быть active, reloading, inactive, failed, activating, deactivating. Это обобщение колонки SUB.
  • SUB – Состояние активации файла юнита низкого уровня. Значение этого поля зависит от типа объекта. Например, модуль типа service может находиться в одном из следующих состояний: dead, exited, failed, inactive, или running.
  • DESCRIPTION – Краткое описание файла объекта.

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

sudo systemctl list-units --type service --all

 

Если вы хотите увидеть все установленные файлы модулей, а не только загруженные, используйте:

sudo systemctl list-unit-files

 

Отображение статуса службы

Чтобы проверить статус сервиса, используйте команду systemctl status:

sudo systemctl status <service_name>.service

 

Где <service_name> название сервисной единицы, которую вы хотите проверить. Например, чтобы определить текущий статус службы nginx, вы должны запустить:

sudo systemctl status nginx.service
Вы можете опустить суффикс «.service». systemctl status nginx такое же, как systemctl status nginx.service.
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-12-21 22:45:50 UTC; 5s ago
       Docs: man:nginx(8)
    Process: 3061052 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 3061063 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 3061064 (nginx)
      Tasks: 2 (limit: 470)
     Memory: 6.0M
     CGroup: /system.slice/nginx.service
             ├─3061064 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             └─3061065 nginx: worker process

Dec 21 22:45:50 andreyex.dev systemd[1]: Starting A high performance web server and a reverse proxy server...

 

Читать  Как создать индикатор выполнения в Bash

Команда напечатает следующую информацию:

  • Loaded – Был ли загружен служебный модуль и полный путь к файлу модуля. Он также показывает, разрешен ли запуск устройства во время загрузки.
  • Active – Активна ли служба и работает ли она. Если ваш терминал поддерживает цвета, а служба активна и работает, точка (●) и часть “active (running)” будут напечатаны зеленым цветом. Строка также показывает, как долго работает служба.
  • Docs – Сервисная документация.
  • Process – Информация о процессах обслуживания.
  • Main PID – Сервисный PID.
  • Tasks – Количество задач, учитываемых на единицу, и лимит задач.
  • Memory – Информация об используемой памяти.
  • CGroup – Информация о связанных контрольных группах.

 

Если вы хотите только проверить статус службы, используйте команду systemctl is-active. Например, чтобы убедиться, что служба nginx запущена, вы должны запустить:

systemctl is-active nginx.service
active

 

Команда покажет вам статус службы. Если служба активна, команда возвращает статус выхода 0, что может быть полезно при использовании команды внутри сценариев оболочки.

 

Заключение

Мы показали вам, как использовать команду systemctl для вывода списка служб Linux и проверки их статуса.

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

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

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


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

**ссылки nofollow

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

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


Рекомендуемое
В предыдущей статье по принятию решений в Ansible вы узнали, как вносить простые изменения…

Спасибо!

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