К содержанию
АльфаКомпВсё о компьютерах — каждый день
LinuxИнструкция5 минут чтения

Управление службами через терминал в Linux

Инструмент systemctl позволяет контролировать работу служб и системных процессов в дистрибутивах Linux через терминал.

Терминал Linux с открытым списком системных служб

Фото: Fórum Internacional Software Livre / Wikimedia Commons, CC BY-SA 2.0

Содержание
  1. Что понадобится
  2. 1. Просмотр состояния служб и юнитов
  3. 2. Запуск, остановка и перезапуск служб
  4. 3. Настройка автозапуска при загрузке системы
  5. 4. Блокировка и маскировка служб
  6. 5. Просмотр сокетов и таймеров
  7. Если не получилось

Управление системными службами в популярных дистрибутивах Linux на базе systemd (таких как Debian, Arch Linux, Ubuntu и другие) выполняется с помощью универсального инструмента командной строки systemctl. Исторически программы, работающие в фоновом режиме без графического интерфейса и ожидающие определенных событий (например, веб-серверы или SSH-серверы), назывались демонами. Современный системный менеджер позволяет не только контролировать их работу, но и гибко настраивать зависимости. Перед началом работы с системными компонентами полезно освежить знания в материале про основные команды терминала Linux для начинающих пользователей, а также узнать, как инсталлировать необходимый софт, обратившись к инструкции про как устанавливать программы через терминал в Linux: pacman и DNF.

Что понадобится

  • Компьютер или сервер под управлением дистрибутива Linux с установленным менеджером systemd.
  • Доступ к терминалу.
  • Права суперпользователя (root) для выполнения большинства управляющих команд.

1. Просмотр состояния служб и юнитов

Первый шаг в администрировании заключается в анализе текущего состояния служб в памяти операционной системы.

  1. Откройте терминал.
  2. Выведите список всех активных служб, находящихся в памяти, с помощью команды:
systemctl list-units --type=service
  1. Проверьте статус конкретной службы, например, демона Bluetooth, выполнив команду:
systemctl status bluetooth
  1. Для проверки того, активна ли служба в данный момент (возвращает код завершения 0, если запущена), используйте:
systemctl is-active bluetooth
  1. Выведите список служб, которые находятся в аварийном состоянии (failed):
systemctl --failed

Как понять, что всё получилось: в терминале отобразится таблица с юнитами, их состоянием (LOAD, ACTIVE, SUB) или подробная текстовая сводка по указанной службе с последними записями из системного журнала.

2. Запуск, остановка и перезапуск служб

Управление активностью процессов выполняется через базовые команды systemctl.

  1. Запустите нужную службу немедленно, выполнив команду с правами суперпользователя:
sudo systemctl start sshd
  1. Остановите работающий процесс, если он больше не требуется:
sudo systemctl stop sshd
  1. Перезапустите службу для применения новых конфигурационных файлов:
sudo systemctl restart sshd
  1. Выполните мягкую перезагрузку конфигурации без полного перезапуска процесса (если это поддерживается службой):
sudo systemctl reload sshd

Как понять, что всё получилось: команды выполняются без ошибок в терминале, а повторная проверка статуса через systemctl status показывает состояние active (running).

3. Настройка автозапуска при загрузке системы

Чтобы службы автоматически стартовали при включении компьютера, их необходимо активировать в менеджере конфигурации.

  1. Добавьте службу в автозагрузку при старте системы:
sudo systemctl enable sshd
  1. Используйте универсальный ключ --now, чтобы одновременно включить автозапуск и запустить службу прямо сейчас без дополнительных команд:
sudo systemctl enable --now sshd
  1. Отключите автоматический запуск службы при загрузке:
sudo systemctl disable sshd

Как понять, что всё получилось: в выводе команды появится строка создания символических ссылок (Created symlink...), подтверждающая добавление юнита в автозагрузку.

4. Блокировка и маскировка служб

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

  1. Заблокируйте службу (выполнив ее маскировку), связав её с системным устройством /dev/null:
sudo systemctl mask sshd
  1. Проверьте список замаскированных файлов конфигурации:
systemctl list-unit-files --state=masked
  1. Снимите маскировку, когда потребуется вернуть возможность запуска:
sudo systemctl unmask sshd

Как понять, что всё получилось: при попытке запустить замаскированную службу система выдаст ошибку о том, что юнит заблокирован (masked).

5. Просмотр сокетов и таймеров

Менеджер systemd управляет не только традиционными службами, но также сокетами и таймерами, заменяющими классическую службу cron.

  1. Выведите список всех активных сокет-юнитов, упорядоченных по адресу прослушивания:
systemctl list-sockets
  1. Просмотрите список запланированных таймеров и время их следующего срабатывания:
systemctl list-timers

Как понять, что всё получилось: терминал выведет структурированные таблицы с информацией о сетевых сокетах или расписанием работы системных таймеров (с указанием времени до следующего запуска в колонке LEFT).

Если не получилось

Если служба не запускается или выдает ошибку, детально изучите ее логи с помощью утилиты командной строки journalctl -u имя_службы. Убедитесь, что имя юнита указано правильно (полное название с расширением .service можно не писать, systemd подставит его автоматически, но для некоторых составных имен с символом @ могут потребоваться уточнения параметров). Если вы управляете пользовательскими процессами от обычного не привилегированного пользователя, не забывайте добавлять флаг --user к любой команде systemctl, например: systemctl --user status.

Вопросы и ответы

Как проверить, запущена ли конкретная служба в Linux?

Используйте команду systemctl is-active имя_службы, которая возвращает код завершения 0, если служба активна.

Как полностью заблокировать службу, чтобы она не запускалась?

Используйте команду sudo systemctl mask имя_службы, которая делает запуск службы невозможным.

Источники

Материал подготовлен автоматически на основе открытых источников. Факты автоматически сверены с публикациями из списка ниже. Как мы работаем

  1. manpages.debian.org:systemctl(1) — systemd — Debian bullseye — Debian Manpages
  2. wiki.archlinux.org:systemd - ArchWiki
Поделиться:TelegramВКонтакте

Опубликовано 14 октября 2026

Рубрики

↑↓ — выбор, Enter — открыть, Esc — закрыть