Главная >> Инструкции >> Как проверить статус службы Linux

Как проверить статус службы Linux

Система инициализации Systemd позволяет не только запускать и останавливать службы, но и проверять их состояние. Для просмотра информации о сервере используется команда status утилиты systemctl. Например, чтобы посмотреть состояние веб-сервера Nginx нужно выполнить такую команду:

sudo systemctl status nginx

Обычно, утилита выводит информацию с пагинацией поскольку данные не умещаются на один экран. Если вы хотите отключить пагинацию используйте опцию --no-pager:

sudo systemctl status nginx --no-pager

Давайте рассмотрим что выводит эта утилита:

  • Loaded - значение loaded означает что файл юнита загружен успешно и здесь же выводится путь к этому файлу. Тут возможны и другие значения, например, masked если юнит скрыт или not-found если он не найден также здесь находится информация добавлен ли юнит в автозагрузку (enabled/disabled);
  • Active - текущее состояние и подсостояние юнита, если юнит запущен, то обычно это active(running), если он не был запущен, то inactive(dead) если что-то пошло не так то failed и т д.
  • Docs - название man страницы с документацией для службы.
  • Process - запускаемые процессы, их состояние и код выхода.
  • Main PID - идентификатор основного процесса службы.
  • Tasks - количество процессов, запущенных в рамках этой службы.
  • Memory - потребление памяти службой.
  • CPU - использование процессора службой.

Для того чтобы посмотреть все доступные значения состояний для полей Loaded и Active выполните такую команду:

systemctl --state help

После всех этих полей выводится журнал службы. Это последние 10 строк вывода основного процесса. Если вы хотите получить больше строк используйте опцию --lines с нужным количеством строк. Например, для получения 50-ти последних строк выполните:

sudo systemctl status --lines=50 avahi-daemon

Если конец строки логов обрезается до ширины экрана, вы можете использовать опцию -l или --full для того чтобы этого избежать:

sudo systemctl status nginx.service

Для того чтобы посмотреть ещё больше логов можно воспользоваться утилитой journalctl с опцией -u которой надо передать название сервиса. например:

journalctl -eu nginx.service

Команда начнёт вывод логов с конца. Вы можете использовать клавиши со стрелками для того чтобы листать логи. Кроме того, можно посмотреть историю изменений статуса службы с помощью команды journalctl с опциями -xeu. Например:

journalctl -xeu nginx.service

Более подробно об управлении службами читайте в этой статье, а про journalctl в статье под названием Шпаргалка по Journalctl.

Pеклама
Посмотреть детали

Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали

1 комментарий к “Как проверить статус службы Linux”

Оставьте комментарий