Как посмотреть запущенные службы Linux
Для управления службами в большинстве дистрибутивов Linux используется система инициализации Systemd. Для того чтобы найти все службы, которые запущены на данный момент нужно воспользоваться утилитой systemctl и её командой list-units с фильтрацией по состоянию. Готовая команда будет выглядеть вот так:

sudo systemctl list-units —state=running
Если контент не помещается на экран откроется утилита пагинации less, где вы можете использовать клавиши стрелок для перемещения вврех/вниз или вправо-влево. Если вы хотите получить вывод без пагинации используйте опцию —no-pager:
sudo systemctl list-units —state=running —no-pager
В таком случае всё будет выведено обычным текстом и вы можете перенаправить вывод какой-либо другой утилите. Читайте более подробно об управлении службами Systemd в Linux в этой статье.
Список служб Linux с помощью Systemctl 1 мин для чтения


Добавить в избранное
Главное меню » Linux » Список служб Linux с помощью Systemctl

В 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 — Состояние активации файла модуля высокого уровня, которое может быть active, reloading, inactive, failed, activating, deactivating. Это обобщение колонки SUB.
- SUB — Состояние активации файла юнита низкого уровня. Значение этого поля зависит от типа объекта. Например, модуль типа service может находиться в одном из следующих состояний: dead, exited, failed, inactive, или running.
- DESCRIPTION — Краткое описание файла объекта.
Читать Лучшие ноутбуки с Linux для программирования
По умолчанию команда перечисляет только загруженные активные юниты. Чтобы увидеть загруженные, но неактивные юниты, передайте опцию —all:
sudo systemctl list-units --type service --all
Если вы хотите увидеть все установленные файлы модулей, а не только загруженные, используйте:
sudo systemctl list-unit-files
Отображение статуса службы
Чтобы проверить статус сервиса, используйте команду systemctl status:
sudo systemctl status .service
Где название сервисной единицы, которую вы хотите проверить. Например, чтобы определить текущий статус службы 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.
Команда напечатает следующую информацию:
- Loaded — Был ли загружен служебный модуль и полный путь к файлу модуля. Он также показывает, разрешен ли запуск устройства во время загрузки.
- Active — Активна ли служба и работает ли она. Если ваш терминал поддерживает цвета, а служба активна и работает, точка (●) и часть “active (running)” будут напечатаны зеленым цветом. Строка также показывает, как долго работает служба.
- Docs — Сервисная документация.
- Process — Информация о процессах обслуживания.
- Main PID — Сервисный PID.
- Tasks — Количество задач, учитываемых на единицу, и лимит задач.
- Memory — Информация об используемой памяти.
- CGroup — Информация о связанных контрольных группах.
Читать Примеры команды rm в Linux
Если вы хотите только проверить статус службы, используйте команду systemctl is-active. Например, чтобы убедиться, что служба nginx запущена, вы должны запустить:
systemctl is-active nginx.service
active
Команда покажет вам статус службы. Если служба активна, команда возвращает статус выхода 0, что может быть полезно при использовании команды внутри сценариев оболочки.
Заключение
Мы показали вам, как использовать команду systemctl для вывода списка служб Linux и проверки их статуса.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии ниже.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как посмотреть список запущенных служб
В Linux служба представляет собой фоновый процесс, который выполняет определенную функцию или задачу на компьютере или сервере без непосредственного взаимодействия с пользователем. Службы в Linux работают в фоновом режиме, часто запускаются при загрузке системы и обычно не требуют наличия пользовательского входа.
Для чего смотреть запущенные службы
Просмотр списка запущенных служб в Linux полезно по нескольким причинам:
- Отладка и диагностика: просмотр списка запущенных служб помогает определить, какие службы работают на вашей системе и какие запущены в данный момент. Если вы обнаруживаете проблемы с работой вашей системы, можно проверить, есть ли какие-либо ошибки или конфликты среди запущенных служб.
- Управление ресурсами: запущенные службы могут потреблять ресурсы, такие как процессорное время, память или сетевые ресурсы. Просмотр списка служб поможет вам определить, какие службы потребляют больше ресурсов и возможно приводят к неэффективному использованию системы.
- Проверка автоматической загрузки: просмотр списка запущенных служб позволяет убедиться, что только нужные вам службы автоматически загружены при запуске системы. Вы можете проверить, какие службы настроены для автозагрузки, и в случае необходимости изменить этот список.
Как просмотреть запущенные службы в Линукс
Чтобы посмотреть список запущенных служб (юнитов) в systemctl, выполните команду systemctl list-units —type=service, либо просто systemctl без каких-либо параметров. Это покажет список всех служб в системе, их состояние (запущены или остановлены), а также другую информацию о них.
Вы также можете ограничить вывод только к запущенным службам, добавив параметр —state=running: systemctl list-units —type=service —state=running. Это покажет только запущенные службы в системе. Если вы хотите более подробную информацию о каждой службе, вы можете использовать параметр —full`: `systemctl list-units —type=service —full. Это покажет подробную информацию о каждой службе, включая ее описание, пути к файлам/
Также можно использовать команды фильтрации в выводе, например, чтобы найти конкретную службу по ее имени: systemctl list-units —type=service | grep . Это позволит найти службу с указанным именем в списке. Обратите внимание, что для просмотра списка запущенных служб необходимы права суперпользователя (root) или использование команды с префиксом sudo.
Как найти сервис в Linux, если вы не знаете его точное название
Если вы не знаете точное название сервиса и хотите его найти, то пригодится следующая команда:
systemctl --type=service | grep what-you-know
systemctl —type=service | grep what-you-know
В этой команде мы берем список всех сервисов и ищем по нему ту часть имени, которая нам известна (в данном примере what-you-know).

[Посещений: 483, из них сегодня: 1]