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

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

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

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