Как проверить статус службы 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.


Источник: https://losst.ru/
Материал распространяется под лицензией CC-BY-SA

Добавить комментарий

EnglishRussian