JavaRush /Курси /Docker SELF /Управління системними процесами: ps, top, htop

Управління системними процесами: ps, top, htop

Docker SELF
Рівень 2 , Лекція 4
Відкрита

1. Команда ps — статичний погляд на процеси

Якби Linux був рестораном, то процес був би шеф-кухарем на кухні. Це виконуваний екземпляр програми, який існує в пам'яті. Коли ви запускаєте застосунок або виконання файлу з командного рядка, створюється процес, який потім виконує свої завдання до завершення.

З точки зору програмування, процеси управляються ядром Linux, і у кожного з них є унікальний ідентифікатор — PID (Process ID).

Команда ps (process status) — це базова команда для перегляду списку процесів. Вона дає статичний знімок поточних процесів у системі. Використовуючи ps, можна отримати інформацію про запущені процеси: їхній ID, власника, командний рядок, використані ресурси.

Основний синтаксис

Ось як виглядає базова команда:

ps

Це покаже процеси, запущені в поточному терміналі.

Але так нудно! Давайте додамо трохи спецій:

ps aux

Тут:

  • a — показує процеси інших користувачів.
  • u — додає більш зручний для читання формат.
  • x — включає процеси, які не прив'язані до терміналу.

Приклад виводу:

USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1  22556  1044 ?        Ss   12:34   0:01 /sbin/init
student      2345  0.1  0.2  34567  2048 pts/0    S+   12:35   0:02 bash
student      4567  0.3  0.5  56789  5144 pts/0    R+   12:36   0:03 ps aux
  • USER: користувач, який запустив процес.
  • PID: ідентифікатор процесу.
  • %CPU: відсоток використання CPU.
  • %MEM: відсоток використання пам'яті.
  • COMMAND: команда, яка викликала процес.

Розширені опції

  1. Подивимося деревоподібну структуру процесів:

    ps -ejH
    

    Це допоможе зрозуміти, які процеси є "дітьми" інших процесів.

  2. Фільтрація за PID:

    ps -p 1234
    

    Де 1234 — ваш PID. Виводить тільки вказаний процес.

  3. Вивід всіх процесів разом з повним командним рядком:

    ps -ef
    

2. Команда top — динамічний моніторинг процесів

top — це як телевізор для процесів. Ви можете спостерігати, як процеси змінюються в реальному часі. Якщо ви запускаєте сервер або ваш комп'ютер почав "підвисати", top — ваш найкращий друг. Через нього ви побачите, які процеси "з'їдають" найбільше CPU та пам'яті.

Основи використання

Просто введіть у терміналі:

top

Приклад виводу:

  • Верхній рядок показує "завантаження" на систему.
  • Середня частина повідомляє про задачі (всього, активних, сплячих, зомбі).
  • Нижня частина присвячена пам'яті.
  • Нижній блок — це список процесів, де багато корисної інформації, включаючи PID, USER, %CPU та COMMAND.

Навігація в top

  • Натисніть k, щоб завершити процес. Введіть PID.
  • Натисніть P, щоб відсортувати процеси за CPU.
  • Натисніть M, щоб відсортувати за використанням пам'яті.
  • Натисніть q, щоб вийти.

3. Утиліта htop — зручний інтерфейс

Якщо top здається тобі занадто "сирим", ласкаво просимо в htop. Це візуальний інтерфейс для моніторингу процесів. Він кольоровий, підтримує мишу і зрозумілий для людей.

Встановлення

Якщо htop не встановлений, додай його:

sudo apt-get install htop # Для дистрибутивів на основі Debian
sudo yum install htop     # Для дистрибутивів на основі RedHat

Запуск

Щоб запустити htop, просто введи:

htop

Приклад інтерфейсу:

Переваги htop:

  • Можливість прокручування списку процесів.
  • Колірне виділення для CPU, пам'яті, swap.
  • Зручні кнопки для завершення процесів (наприклад, F9).

4. Практичне завдання

Задача 1: Знайдіть най "жадібний" процес

  • Відкрийте top або htop.
  • Відсортуйте процеси за CPU та дізнайтеся його PID.

Задача 2: Завершіть процес

  • Скористайтеся kill, щоб "завалити" процес:
    kill <PID>
    

Задача 3: Аналіз процесу

  • Використовуйте ps для аналізу PID процесу:
    ps -p <PID> -o pid,user,%cpu,%mem,cmd
    

Підводні камені та рекомендації

  1. Не завершуйте процеси, якщо ви не впевнені, що вони не критичні для роботи системи. Наприклад, процес із PID 1 — це init, основа ОС.
  2. Утиліта htop повинна бути встановлена окремо, якщо її немає. Якщо команда не запускається, перевірте встановлення.
  3. Будьте уважні з правами. Завершення процесів, запущених під іншим користувачем, може вимагати прав адміністратора.

На практиці ви побачите, що ці інструменти роблять роботу з Linux неймовірно гнучкою та наглядною. Тепер ви бос процесів!

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ