Помощь

Работа с службами в 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.

Для просмотра состояния службы 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

Остались вопросы - пишите