Бесплатная миграция IT-инфраструктуры в облако
На главную
61c46507-12c7-4300-a301-bd8bc30c7c19
Инструкции для серверов

Управление службами в systemd

В современных дистрибутивах Linux (начиная с Debian 8, Ubuntu 16.04, CentOS 7) в качестве системы инициализации используется Systemd. Systemd запускается при старте сервера (после загрузки ядра) и инициализирует службы, необходимые для работы сервера и системы.

Systemd содержит инструмент systemctl, который позволяет пользователю управлять работой служб в фоне: запускать и останавливать их, проверять состояние, обновлять конфигурацию и т.д.

Ниже мы рассмотрим основные варианты применения systemctl.

Синтаксис при использовании systemctl следующий:

systemctl команда служба

Просмотр списка служб

Вывести список всех запущенных служб:

systemctl list-units

Вывести список только программ (сервисов), без дополнительных системных компонентов:

systemctl list-units -t service

Вывести список всех сервисов (не только запущенных):

systemctl list-units -t service --all

Вывести список только выполняющихся сервисов:

systemctl list-units -t service --state running

Управление состоянием службы

Рассмотрим основные команды systemctl на примере службы Nginx.

Посмотреть состояние службы:

systemctl status nginx

Запустить службу:

systemctl start nginx

Остановить службу:

systemctl stop nginx

Обновить конфигурацию без перезапуска службы (отработает только в случае, если сама служба поддерживает такую возможность):

systemctl reload nginx

Перезапустить службу (если служба не была запущена, она запустится этой командой):

systemctl restart nginx

Обновить конфигурацию без перезапуска, если есть такая возможность; в противном случае перезапустить службу:

systemctl reload-or-restart nginx

Перезапустить службу, только если она уже запущена:

systemctl try-restart nginx

Проверить, запущена ли служба:

systemctl is-active nginx

Проверить, не завершилась ли работа службы с ошибкой:

systemctl is-failed nginx

Управление автозагрузкой

Добавить службу в автозагрузку:

systemctl enable nginx

Удалить из автозагрузки:

systemctl disable nginx

Проверить, добавлена ли служба в автозагрузку:

systemctl is-enabled nginx

Удалить из автозагрузки и снова добавить:

systemctl reenable nginx

Восстановить параметры автозагрузки по умолчанию:

systemctl preset nginx
Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев