---
title: 'polnyj-gid-po-upravleniyu-sluzhbami-systemd-na-linux | Zomro'
description: ''
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/image_q50.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Полный гид по управлению службами systemd на Linux 



# Полный гид по управлению службами systemd на Linux

24-05-2025

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/image_q50.jpg)

Службы (services) и демоны (daemons) — это фоновые процессы, которые стартуют при загрузке системы и обеспечивают всю «магическую» автоматику Linux. Если служба упала или не запустилась, пользователи тут же сталкиваются с проблемами: от отсутствия SSH‑доступа до неработающего веб‑сайта. Этот гайд показывает, **как быстро диагностировать и администрировать службы на системах, использующих systemd** , с акцентом на надёжность и практику в продакшене.

**Узнаём, действительно ли у нас systemd**

Почти все современные дистрибутивы (Ubuntu, Debian, RHEL, Arch, Manjaro) используют systemd, но есть исключения. Проверяем первый запущенный процесс:
    
    
    pstree -p | head -5
    

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/01_Kiy3Nq2_q50.jpg)

**Базовая навигация по службам с помощью`systemctl`**

Команда |  Что делает  
---|---  
`systemctl --type=service --state=running` |  Показывает **только** запущенные службы  
`systemctl --type=service --state=failed` |  Ищет службы со статусом _Failed_  
`systemctl --type=service` |  Показывает все службы вне зависимости от статуса  
`sudo systemctl start <service>` |  Запускает службу вручную  
`sudo systemctl stop <service>` |  Останавливает службу  
`sudo systemctl restart <service>` |  Перезапускает службу, перезагружая её процесс  
`sudo systemctl enable <service>` |  Включает автозапуск при старте ОС  
`sudo systemctl disable <service>` |  Отключает автозапуск  
  
> Длинные выводы `systemctl` автоматически открываются в `less`.
> 
> **Горизонтальная прокрутка** — стрелки ←/→.
> 
> **Промотать на 50 строк вниз/вверх** — PgDn/PgUp.
> 
> **Поиск** `/pattern` — как в Vim.
> 
> **Выход** — клавиша `Q`.

**Лайфхак** : если хотите открыть вывод сразу в полноэкранном режиме без приглашения `less`, задайте переменную окружения:
    
    
    export SYSTEMD_PAGER=less

**Фильтрация вывода и комбинирование состояний**

> `systemctl` поддерживает фильтры `--state` и `--type`.

**Обзор всех типов sub‑состояний**

  * `running` — запущен и активен

  * `exited` — успешно завершён (oneshot‑сервисы)

  * `failed` — аварийно завершён

  * `inactive` — остановлен / ещё не стартовал

  * `dead` — alias `inactive`




Чтобы увидеть службы в двух состояниях сразу:
    
    
    systemctl --type=service --state=failed,exited
    

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/02_4XbnwQE_q50.jpg)

Чтобы найти конкретную службу, дополняем `grep`‑ом:
    
    
    systemctl --type=service --state=running | grep ssh

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/03_3IzXjc9_q50.jpg)

**Unit‑файлы: что ещё установлено, но не запущено**

Команда `list-unit-files` показывает **все** unit‑файлы в системе, то есть потенциальные службы.

Просмотр всех активных юнитов:
    
    
    sudo systemctl list-units --type=service --state=running

или:
    
    
    systemctl --type=service --state=running

> Разница лишь в явном указании подкоманды `list-units` и использовании `sudo` (нужно, если юнит-файлы защищены root ACL).

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/04_hIQVFJ6_q50.jpg)

**Полный список юнит‑файлов без фильтрации**

Чтобы увидеть **все** установленные unit‑файлы, включая `disabled`, `static`, `masked`, используем команду:
    
    
    systemctl list-unit-files

Частые статусы unit‑файлов:

  * **enabled** — автозапуск при старте ОС.

  * **disabled** — не стартует автоматически.

  * **masked** — заблокирован симлинком на `/dev/null`.

  * **static** — запускается как зависимость.




> Обратите внимание: вывод зачастую в 2‑4 раза длиннее, чем список реально запущенных служб.

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/05_hs2jenv_q50.jpg)

Используйте множественный фильтр, чтобы быстро найти подозрительные записи:
    
    
    systemctl list-unit-files --type=service --state=enabled,failed
    

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/06_q50.jpg)

**Тонкая фильтрация unit‑файлов по состоянию**

Комбинация:
    
    
    systemctl list-unit-files --state=enabled,failed

показывает unit‑файлы, которые **должны** стартовать, но по какой‑то причине упали. Удобно при обновлении systemd‑сервисов: сразу видно, кто не поднялся.

**Детальный разбор одной службы**

Для глубокой диагностики используется:
    
    
    systemctl status ssh
    

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/07_q50.jpg)

Вы увидите:

  * путь к unit‑файлу;

  * время работы;

  * PID, потребление памяти, ЦП;

  * последние строки журнала (`journalctl`).




Полные логи службы:
    
    
    journalctl -u ssh.service --since "1 hour ago"
    

Типовые неисправности и быстрые решения

Симптом |  Возможная причина |  Ремедиэйшн  
---|---|---  
`failed` в колонке **SUB** |  Ошибка конфигурации, нехватка портов |  `journalctl -xeu <service>` для деталей  
Статус `active (exited)` вместо `running` |  Служба завершилась сразу после запуска |  Убедитесь, что это _oneshot_ -сервис — это нормально  
Служба «висит» в `activating` |  Долгая инициализация или зависание Job |  Проверить тайм-ауты в unit‑файле (`TimeoutStartSec`)  
Статус `masked` |  Заблокирована админом или пакетом |  `sudo systemctl unmask <service>`  
  
Точечный grep по запущенным службам
    
    
    systemctl --type=service --state=running | grep ssh

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/08_q50.jpg)

Добавим флаг `-i` для нечувствительности к регистру:
    
    
    systemctl --type=service --state=running | grep -i nginx

### 

![](https://dx86q6oq7ry0e.cloudfront.net/uploads/blog/a48%40server-panel.net/2025/05/24/09_q50.jpg)

**Неявный статус «active (exited)»**

Когда служба отображается как `active (exited)`, это не всегда ошибка. Часто это `Type=oneshot` юнит:
    
    
    [Service]
    Type=oneshot
    ExecStart=/usr/local/bin/prepare-env.sh

Такие юниты выполняют задачу и завершаются, оставаясь **активными** в глазах systemd.

### 

**Быстрый анализ проблемных служб**

Если найден `failed` юнит, оперативная тройка команд такова:
    
    
    systemctl status <service>   
    journalctl -u <service> -e   
    systemctl restart <service>

После рестарта проверяем статус. Если снова `failed`, изучаем `journalctl -xeu <service>`.

Мини‑шпаргалка использованных команд:
    
    
    # Проверка PID 1
    pstree -p | head -5
    
    # Список служб (варианты)
    systemctl --type=service --state=running
    sudo systemctl list-units --type=service --state=running
    
    # Фильтры состояний
    systemctl --type=service --state=failed,exited
    
    # Unit‑файлы
    systemctl list-unit-files                       # все
    systemctl list-unit-files --state=enabled       # включённые
    systemctl list-unit-files --state=enabled,failed
    
    # Поиск по выводу
    systemctl --type=service --state=running | grep ssh
    
    # Детали службы
    systemctl status ssh
    journalctl -u ssh --since "1 hour ago"
    
    # Управление
    sudo systemctl start|stop|restart|enable|disable <service>

### 

**Итоги**

`systemctl` — главный инструмент управления службами в системах с systemd. Зная две‑три базовых команды и юзая фильтры `--state`, `--type`, вы получаете полную картину здоровья сервисов, а с помощью `journalctl` быстро локализуете проблемы. Регулярно проверяйте статус служб, автоматизируйте рестарт, и ваша инфраструктура останется стабильной даже под нагрузкой.

> Надёжные службы = довольные пользователи — аксиома любого админа.

Похожие статьи

[Установка Docker Engine и Docker Compose на Ubuntu 24.04](https://zomro.com/rus/blog/faq/661-installing-docker-engine-and-docker-compose-on-ubuntu-2404) [Несколько советов по Postgres для начинающих: Часть 1](https://zomro.com/rus/blog/faq/448-some-postgres-tips-for-beginners-part-1) [Как установить MySQL 8 в Docker](https://zomro.com/rus/blog/faq/291-kak-ustanovit-mysql-8-v-docker) [Базовая установка n8n через Docker Compose](https://zomro.com/rus/blog/faq/617-basic-n8n-installation-via-docker-compose) [Подключение к серверу по RDP на Windows](https://zomro.com/rus/blog/faq/147-podkljuchenie-k-serveru-po-rdp-na-windows)

[ Premium Cloud VPS от €7.95/мес ](/rus/premium-vps)
