Как составить список служб Linux с помощью Systemctl

12 set 2022 2 min di lettura
Как составить список служб Linux с помощью Systemctl
Indice dei contenuti

Введение

В 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...

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

  • UNIT - название сервисной единицы.
  • LOAD - Информация о том, что файл диска был загружен в память.
  • ACTIVE — статус активации файла диска высокого уровня, который может быть активным, перезагружающимся, неактивным, неудачным, активирующим, деактивирующим. Это обобщение столбца SUB.
  • SUB — статус активации низкоуровневого юнит-файла. Значение этого поля зависит от типа устройства. Например, служебный диск может находиться в одном из следующих состояний: отключен, отключен, неисправен, простаивает или работает.
  • 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 Fri 2020-12-11 15:37:34 CET; 1 weeks 5 days ago
 Docs: man:nginx(8)
 Main PID: 13172 (nginx)
 Tasks: 3 (limit: 4915)
 CGroup: /system.slice/nginx.service
 ├─13172 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
 ├─15416 nginx: worker process
 └─15417 nginx: worker process

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

  • Loaded — был ли загружен сервисный модуль и полный путь к файлу модуля. Он также показывает, включен ли диск для загрузки во время загрузки.
  • Active — запущена ли служба. Если ваш терминал поддерживает цвета, а служба запущена и работает, точка ( ) и часть «активно (работает)» будут напечатаны зеленым цветом. В строке также указана продолжительность услуги.
  • Docs - Сервисная документация.
  • Process — информация о сервисных процессах.
  • Main PID — служба PID.
  • Tasks — количество действий, приходящихся на единицу, и лимит действий.
  • Memory - Информация об используемой памяти.
  • CGroup - Информация о связанных контрольных группах.

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

systemctl is-active nginx.service
active

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

Вывод

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

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.