Найти в Дзене
Евгений Лощаков

Управление процессами в RedOS: от новичка до сисадмина

Процесс — это экземпляр выполняющейся программы. Каждая запущенная программа, системная служба или фоновое задание представляется в системе как процесс со своими: Умение управлять процессами — ключевой навык для любого пользователя и администратора RedOS. Базовая утилита для просмотра списка процессов. Полезные команды: ps aux # Показать ВСЕ процессы всех пользователей ps -u username # Показать процессы конкретного пользователя ps -e --forest # Показать дерево процессов (родитель-потомок) ps -p 1234 -o pid,cmd,%mem # Показать информацию о конкретном процессе Расшифровка колонок ps aux: top — встроенный интерактивный мониторинг (есть всегда).Основные команды внутри top: htop — улучшенная версия (установить отдельно): sudo dnf install htop htop Преимущества htop: Службы (services) — это фоновые процессы, управляемые системой. systemctl status sshd # Проверить статус службы SSH systemctl stop httpd # Остановить веб-сервер s
Оглавление

🔹 Введение: Что такое процесс?

Процесс — это экземпляр выполняющейся программы. Каждая запущенная программа, системная служба или фоновое задание представляется в системе как процесс со своими:

  • PID (Process ID) — уникальный идентификатор.
  • Потребляемыми ресурсами (CPU, RAM, дисковый I/O).
  • Правами пользователя, от которого запущен.
  • Состоянием (выполняется, спит, остановлен).

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

🔹 1. Мониторинг процессов: какие утилиты использовать?

1.1. ps (Process Status) — моментальный снимок

Базовая утилита для просмотра списка процессов.

Полезные команды:

ps aux # Показать ВСЕ процессы всех пользователей

ps -u username # Показать процессы конкретного пользователя

ps -e --forest # Показать дерево процессов (родитель-потомок)

ps -p 1234 -o pid,cmd,%mem # Показать информацию о конкретном процессе

Расшифровка колонок ps aux:

  • USER — владелец процесса
  • PID — идентификатор процесса
  • %CPU — загрузка процессора
  • %MEM — потребление памяти
  • COMMAND — команда запуска

1.2. top и htop — интерактивный мониторинг

top — встроенный интерактивный мониторинг (есть всегда).Основные команды внутри top:

  • M — сортировка по памяти
  • P — сортировка по CPU
  • k — завершить процесс
  • q — выйти
-2

htop — улучшенная версия (установить отдельно):

sudo dnf install htop

htop

Преимущества htop:

  • Цветной интерфейс
  • Вертикальное и горизонтальное разделение
  • Управление мышью
  • Поиск процессов (F3)
-3

1.3. systemctl — для управления службами

Службы (services) — это фоновые процессы, управляемые системой.

systemctl status sshd # Проверить статус службы SSH

systemctl stop httpd # Остановить веб-сервер

systemctl start nginx # Запустить службу

systemctl restart firewalld # Перезапустить службу

systemctl --type=service # Показать все службы

-4

🔹 2. Управление процессами: сигналы и приоритеты

2.1. Завершение процессов: kill и killall

Процессам отправляются сигналы. Основные:

  • SIGTERM (15) — корректное завершение (по умолчанию)
  • SIGKILL (9) — немедленное уничтожение
  • SIGHUP (1) — перезагрузка конфигурации

Примеры:

kill 1234 # Корректно завершить процесс с PID 1234

kill -9 1234 # Немедленно убить процесс

killall -9 firefox # Убить все процессы Firefox

pkill -u username # Завершить все процессы пользователя

2.2. Управление приоритетами: nice и renice

Приоритет процесса определяется значением nice от -20 до 19.

Запуск процесса с низким приоритетом:

nice -n 19 tar -czf backup.tar.gz /large_folder

Изменение приоритета уже running процесса:

renice -n 10 -p 1234 # Понизить приоритет процесса

renice -n -5 -p 5678 # Повысить приоритет (требует root)

🔹 3. Поиск и диагностика процессов

3.1. Поиск по имени и PID

pgrep sshd # Найти PID процесса по имени

pidof chrome # Найти все PID процесса Chrome

fuser -v 22/tcp # Какой процесс использует порт 22?

lsof -p 1234 # Какие файлы открыл процесс?

3.2. Мониторинг ресурсов

iotop # Показать процессы, активно работающие с диском

iftop # Показать сетевую активность по процессам

vmstat 1 # Статистика по памяти, процессам, I/O каждую секунду

🔹 4. Фоновые и демонизированные процессы

4.1. Управление заданиями (jobs)

python3 long_script.py & # Запустить в фоне (background)

jobs # Показать фоновые задания

fg %1 # Вернуть на передний план (foreground)

bg %2 # Отправить обратно в фон

4.2. Запуск независимых процессов

nohup ./server.sh & # Запустить процесс, который не завершится

# при закрытии терминала

disown -h %1 # Отвязать процесс от текущей сессии

🔹 5. Продвинутые инструменты

/proc filesystem — детальная информация о процессах

cat /proc/1234/status # Детальная информация о процессе

ls -la /proc/1234/fd # Какие файлы открыты процессом

cat /proc/1234/environ # Переменные окружения процесса

SystemTap и perf — глубокий анализ

# Установка

sudo dnf install systemtap perf

# Пример анализа

perf top # Показать какие функции съедают CPU

stap -c 'ls' script.stp # Трассировка системных вызовов

🔹 6. KDE System Monitor

KDE System Monitor — это мощный графический инструмент для мониторинга системных ресурсов и управления процессами. Он предоставляет информацию в реальном времени о:

  • Загрузке процессора (ЦП)
  • Использовании оперативной памяти (Память)
  • Дисковом пространстве
  • Сетевой активности
  • Запущенных процессах и приложениях

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

-5

🔹 Заключение: лучшие практики

  1. Всегда сначала пытайтесь завершить процесс корректно (kill, systemctl stop)
  2. kill -9 — это последнее средство, так как процесс не может обработать этот сигнал и корректно завершить работу
  3. Используйте htop вместо top для наглядности
  4. Следите за деревом процессов — дочерние процессы могут продолжаться после завершения родителя
  5. Для постоянных служб используйте systemctl вместо ручного управления

Таблица: Сигналы для управления процессами

-6

Управление процессами — это основа администрирования любой UNIX-системы, включая RedOS. Освоив эти инструменты, вы получаете полный контроль над своей системой.