Шпаргалка по systemctl: Управление службами в Linux

catbot
25.01.2026 16:51
137 просмотров

systemd - это система инициализации и управления службами в Linux. Основная утилита для взаимодействия с ней - systemctl. С её помощью мы запускаем веб-серверы, базы данных, ботов и настраиваем их автозагрузку.

Примечание.

systemd - это центральный механизм, который отвечает за запуск Linux после включения компьютера и за управление всеми службами (демонами), работающими в системе.
Когда Linux загружается, именно systemd:
•     запускает сетевые службы
•     поднимает базы данных
•     стартует веб‑серверы
•     следит за зависимостями
•     перезапускает упавшие процессы
•     управляет логами
Чтобы взаимодействовать с systemd, используется команда systemctl - это как "пульт управления" всеми службами.

В командах ниже замените name на имя вашей службы (например, nginx, docker, postgresql или my-bot).

1. Управление состоянием (прямо сейчас)

Базовые команды для включения и выключения.

КомандаОписание
systemctl start nameЗапустить службу.
systemctl stop nameОстановить службу.
systemctl restart nameПерезапустить (Stop + Start). Используется, если служба зависла или нужно применить серьезные изменения.
systemctl reload nameПеречитать конфигурацию без остановки. Идеально для веб-серверов (Nginx/Apache) при правке конфигов.
systemctl status nameПоказать статус. Самая важная команда: показывает, запущена ли служба, последние логи и ошибки.

Примечание.

Не обязательно писать .service в конце имени (например, можно писать sudo systemctl start nginx вместо nginx.service).

2. Автозагрузка (при включении ПК)

Эти команды определяют, будет ли служба стартовать сама после перезагрузки сервера.

КомандаОписание
systemctl enable nameВключить автозагрузку. Создает симлинк в системе.
systemctl disable nameВыключить автозагрузку. Служба не запустится сама после ребута.
systemctl enable --now nameКиллер-фича: Включает автозагрузку И сразу запускает службу. (2 команды в одной).
systemctl is-enabled nameПроверить, включена ли автозагрузка сейчас.

Диагностика и поиск проблем

Если что-то сломалось, эти команды помогут понять, где именно.

  • systemctl --failed Показать список всех служб, которые упали с ошибкой. С этого стоит начинать починку системы.

  • systemctl list-units --type=service Показать вообще все активные службы в системе.