Управление сервисами systemd через systemctl
1.Основные команды для управления сервисами
Используем команду systemctl для управления сервисами (демонами) в systemd.
Запуск, остановка и перезапуск сервиса
1 2 3 4 |
sudo systemctl start <service> # Запуск сервиса sudo systemctl stop <service> # Остановка сервиса sudo systemctl restart <service> # Перезапуск сервиса sudo systemctl reload <service> # Перезагрузка конфигурации (без остановки) |
Включение и отключение автозапуска
1 2 3 |
sudo systemctl enable <service> # Включить автозапуск сервиса sudo systemctl disable <service> # Отключить автозапуск сервиса sudo systemctl is-enabled <service> # Проверить статус автозапуска |
Проверка состояния сервиса
1 2 |
systemctl status <service> # Проверить текущее состояние сервиса journalctl -u <service> # Просмотреть логи сервиса |
Проверка запущенных сервисов
1 2 |
systemctl list-units --type=service --state=running # Вывести запущенные сервисы systemctl list-units --type=service # Все загруженные сервисы |
2.Работа с юнитами systemd
Каждый сервис в systemd представлен в виде юнита (.service
).
Перезапуск systemd и перечитывание конфигурации
1 2 |
sudo systemctl daemon-reexec # Перезапуск systemd без перезапуска сервисов sudo systemctl daemon-reload # Обновить конфигурацию systemd после изменения юнитов |
Редактирование юнитов сервисов
1 2 |
sudo systemctl edit <service> # Изменить конфигурацию юнита (создает override) sudo systemctl cat <service> # Просмотреть конфигурацию юнита |
Удаление override-конфигурации
1 |
sudo systemctl revert <service> |
3.Дополнительные команды
Маскировка и размаскировка сервиса
1 2 |
sudo systemctl mask <service> # Полностью отключить сервис (даже если включен) sudo systemctl unmask <service> # Разрешить сервис (после mask) |
Выключение и перезагрузка системы через systemd
1 2 3 4 |
sudo systemctl reboot # Перезагрузка системы sudo systemctl poweroff # Выключение системы sudo systemctl suspend # Усыпление системы sudo systemctl halt # Остановка системы без выключения питания |
4.Примеры работы
Запуск и настройка сервиса Nginx
1 2 3 4 |
sudo systemctl start nginx # Запускаем сервис sudo systemctl enable nginx # Включаем автозапуск systemctl status nginx # Проверяем статус journalctl -u nginx --no-pager # Просматриваем логи |
Остановка и отключение сервиса Apache
1 2 3 |
sudo systemctl stop apache2 # Остановка сервиса sudo systemctl disable apache2 # Отключение автозапуска sudo systemctl mask apache2 # Полностью блокируем его запуск |
5.Полезные флаги systemctl
Флаг Описание
1 2 3 4 |
--no-pager Вывод без постраничного просмотра --failed Показывает только сбойные юниты --type=service Фильтр по типу "service" --all Показывает все юниты, включая неактивные |