Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация
На главную
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
Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев