Команда systemctl: как запустить, остановить и перезапустить службу
Службы — это программы, которые работают на сервере в фоне: nginx, база данных, PHP. Ими управляет systemd, а команды ему отдают через systemctl. Ниже — главные команды, как читать ответ status и что делать, если служба не запускается.
Содержание 9
Что сделать прямо сейчас
- Подключитесь к серверу — инструкция.
- Посмотрите, работает ли nginx:
systemctl status nginx. Найдите строкуActive:. Вернуться к вводу команд — клавиша Q. - После правки настроек nginx проверьте их и примените:
sudo nginx -t, затемsudo systemctl reload nginx. - Убедитесь, что служба работает:
systemctl is-active nginx. Ответactive— работает. - Посмотрите, не упало ли что-то ещё:
systemctl --failed.
Для команд, которые что-то меняют, нужен sudo. Посмотреть состояние — status, is-active, --failed — можно и без него. Окончание .service писать не нужно: nginx и nginx.service — одно и то же.
Главные команды
| Команда | Что делает |
|---|---|
systemctl status nginx | состояние службы и последние строки её журнала |
sudo systemctl start nginx | запустить |
sudo systemctl stop nginx | остановить |
sudo systemctl restart nginx | остановить и запустить заново |
sudo systemctl reload nginx | перечитать настройки, не останавливая службу |
sudo systemctl enable nginx | включить автозапуск при загрузке сервера |
sudo systemctl disable nginx | выключить автозапуск |
sudo systemctl enable --now nginx | включить автозапуск и сразу запустить |
systemctl is-active nginx | ответит одним словом: работает служба или нет |
systemctl is-enabled nginx | ответит, включён ли автозапуск |
systemctl --failed | список упавших служб |
systemctl list-units --type=service --state=running | все работающие службы |
systemctl cat nginx | показать файл службы |
sudo systemctl daemon-reload | перечитать файлы служб после их правки |
restart или reload
reload просит службу перечитать свои настройки и не останавливает её. Для nginx после правки конфига это лучший вариант: сайт не прерывается. Перед ним проверяйте настройки командой sudo nginx -t.
restart полностью останавливает службу и запускает снова. Он нужен, когда reload не помог или служба reload не умеет. Если не знаете, умеет ли, наберите sudo systemctl reload-or-restart имя: systemctl сам выберет.
reload перечитывает настройки самой программы, например конфиг nginx, а не файл службы systemd. Если вы поменяли файл службы, нужен sudo systemctl daemon-reload — подробнее в статье Warning: … changed on disk.
Как читать systemctl status
Главное — две строки в начале ответа:
| Строка | Что в ней | Что значит |
|---|---|---|
Loaded: | loaded и путь к файлу службы | systemd нашёл службу |
Loaded: | not-found | такой службы нет — разбор |
Loaded: | masked | служба запрещена — разбор |
Loaded: | enabled или disabled | включён ли автозапуск |
Active: | active (running) | служба работает |
Active: | inactive | служба остановлена |
Active: | activating | служба запускается — подождите и посмотрите снова |
Active: | failed | служба упала — что делать |
Кружок перед именем службы подсказывает то же самое цветом и формой: зелёная точка — работает, белый кружок — остановлена, красный крестик — упала.
Ниже строк о службе — последние 10 строк её журнала: ошибка видна уже там. Больше строк покажет systemctl status nginx -n 50, полный журнал — Команда journalctl.
Длинный ответ systemctl открывает в less: листайте стрелками, выход — Q. Чтобы ответ просто вывелся на экран, добавьте --no-pager. Обрезанные строки целиком покажет ключ -l.
Автозапуск: enable — не то же, что start
enable отвечает только за то, запустится ли служба после перезагрузки сервера. Сейчас она от этого не запустится — для этого нужен start, или обе команды разом: sudo systemctl enable --now имя.
disable выключает автозапуск, но работающую службу не останавливает. Выключить автозапуск и остановить сразу — sudo systemctl disable --now имя.
Есть ещё команда mask — она запрещает запуск службы совсем, даже вручную. Если служба не запускается из-за неё, читайте статью Unit … is masked.
Проверка в скрипте
systemctl is-active возвращает код 0, если служба работает, и другой код, если нет. Ключ --quiet убирает слово из ответа. Так проверяют службу в скриптах:
systemctl is-active --quiet nginx && echo работает || echo не работаетОшибки и как их исправить
| Ответ | Что сделать |
|---|---|
Job for … .service failed | разбор ошибки; для nginx — отдельная статья |
Unit … .service not found | разбор |
Unit … .service is masked | разбор |
Start request repeated too quickly | разбор |
Warning: The unit file … changed on disk | разбор |
System has not been booted with systemd | разбор |
Все ошибки служб и диска собраны в разделе Ошибки systemd и диска.
Источники
- Справка systemctl для Ubuntu 24.04 — команды start, stop, restart, reload, enable, disable, status, is-active, is-enabled, daemon-reload, ключи --now, --failed, -n и --no-pager, строки Loaded и Active.
Сверено 11 октября 2026 года.
Что почитать дальше
- Команда journalctlжурнал службы целиком.
- Ошибки systemd и дискачто делать, если служба не запускается.
- Процессы: ps, top и killпроцессы, которые работают сейчас.
- Команды Linux для новичкашпаргалка по командам.
Проверено и обновлено: 11.10.2026