Керування процесами Linux/Unix: команди ps, kill, top, df, free, nice

Що таке процес?

Екземпляр програми називається процесом. Простіше кажучи, будь-яка команда, яку ви надаєте своїй машині Linux, запускає новий процес.

Що таке процес

Для однієї програми можливо кілька процесів.

Типи процесів:

  • Процеси переднього плану: Вони працюють на екрані й потребують введення від користувача. Наприклад, офісні програми
  • Фонові процеси: Вони працюють у фоновому режимі і зазвичай не потребують введення користувача. Наприклад Антивірус.

Натисніть тут якщо відео недоступне

Запуск процесу переднього плану

Щоб запустити процес переднього плану, ви можете запустити його з інформаційної панелі або з терміналу.

Під час використання терміналу вам доведеться почекати, поки запуститься процес переднього плану.

Запуск процесу переднього плану

Запуск фонового процесу

Якщо ви запускаєте програму/процес переднього плану з терміналу, ви не можете працювати на терміналі, доки програма не запуститься.

Конкретні завдання, що містять інтенсивні дані, вимагають багато обчислювальної потужності та можуть навіть тривати години. Ви ж не хочете, щоб ваш термінал затримався на такий довгий час.

Щоб уникнути такої ситуації, ви можете запустити програму та відправити її у фоновий режим, щоб термінал залишався доступним для вас. Давайте навчимося це робити –

Запуск фонового процесу

Fg

Ви можете використовувати команду «fg», щоб продовжити програму, яку було зупинено, і вивести її на передній план.

Простий синтаксис цієї утиліти:

fg jobname

Приклад

  1. Запустіть музичний плеєр "banshee".
  2. Зупиніть це за допомогою команди 'ctrl +z'
  3. Продовжте це за допомогою утиліти 'fg'.

Команда Fg

Давайте розглянемо інші важливі команди для керування процесами –

Toп

Ця утиліта повідомляє користувачеві про всі запущені процеси на машині Linux.

Верхня команда

Натисніть «q» на клавіатурі, щоб вийти з дисплея процесу.

Термінологія така:

Поле Опис Приклад 1 Приклад 2
PID Ідентифікатор процесу кожного завдання 1525 961
користувач Ім'я користувача власника завдання Головна Корінь
PR Пріоритет

Може бути 20 (найвищий) або -20 (найнижчий)

20 20
NI Приємне значення завдання 0 0
ВІРТ Використана віртуальна пам'ять (кб) 1775 75972
RES Використана фізична пам'ять (кб) 100 51
Shr Використовується спільна пам'ять (кб) 28 7952
S

Статус

Існує п'ять типів:

«D» = безперервний сон

'R' = працює

'S' = спить

'T' = відстежено або зупинено

'Z' = зомбі

S R
%ЦП % процесорного часу 1.7 1.0
%MEM Використана фізична пам'ять 10 5.1
ЧАС+ Загальний час процесора 5:05.34 2:23.42
Command Назва команди Photoshop.exe Корг

PS

Ця команда розшифровується як «Стан процесу». Це схоже на «Диспетчер завдань», який з’являється в спливаючих вікнах Windows Машина, коли ми використовуємо Cntrl+Alt+Del. Ця команда схожа на команду 'top', але відображається інша інформація.

Щоб перевірити всі процеси, запущені під користувачем, використовуйте команду –

ps ux

PS Команда

Ви також можете перевірити статус окремого процесу, скориставшись синтаксисом –

ps PID 

PS Команда

вбити

Ця команда завершує запущені процеси у нас є машина Linux.

Щоб використовувати ці утиліти, вам потрібно знати PID (ідентифікатор процесу) процесу, який ви хочете вбити

Синтаксис –

kill PID

Щоб знайти PID процесу, просто введіть

pidof Process name

Давайте спробуємо це на прикладі.

Команда вбивства

Ніцца

Linux може запускати багато процесів одночасно, що може уповільнити швидкість деяких процесів з високим пріоритетом і призвести до низької продуктивності.

Щоб уникнути цього, ви можете наказати своїй машині визначати пріоритети процесів відповідно до ваших вимог.

Цей пріоритет у Linux називається Niceness і має значення від -20 до 19. Що нижчий індекс Niceness, то вищий пріоритет буде надано цьому завданню.

Значення за замовчуванням для всіх процесів дорівнює 0.

Щоб запустити процес із значенням niceness, відмінним від значення за замовчуванням, використовуйте такий синтаксис

nice -n 'Nice value' process name

Приємна команда

Якщо в системі вже запущено якийсь процес, ви можете «Перемінити» його значення за допомогою синтаксису.

renice 'nice value' -p 'PID'

Щоб змінити Niceness, ви можете скористатися командою 'top', щоб визначити PID (ідентифікатор процесу) і його значення Nice. Later використовуйте команду renice, щоб змінити значення.

Розберемося в цьому на прикладі.

Приємна команда

DF

Ця утиліта повідомляє про вільний дисковий простір (жорсткий диск) у всіх файлових системах.

Команда DF

Якщо вам потрібна наведена вище інформація у зручному для читання форматі, скористайтеся командою

'df -h' 

Команда DF

Безкоштовно

Ця команда показує вільну та використану пам’ять (RAM) у системі Linux.

Вільна команда

Можна використовувати аргументи

free -m для відображення результату в МБ

free -g для відображення результату в ГБ

Основна інформація:

  • Будь-яка запущена програма або команда, надана системі Linux, називається процесом
  • Процес може працювати на передньому плані або у фоновому режимі
  • Індекс пріоритету процесу в Linux називається Nice. Його значення за замовчуванням дорівнює 0 і може варіюватися від 20 до -19
  • Чим нижчий індекс привітності, тим вищий пріоритет буде надано цьому завданню
Command Опис
bg Щоб відправити процес у фоновий режим
fg Щоб запустити зупинений процес на передньому плані
топ Подробиці про всі активні процеси
ps Передайте статус запущених процесів для користувача
ps PID Надає статус певного процесу
підоф Надає ідентифікатор процесу (PID) процесу
вбити ПІД Вбиває процес
приємно Запускає процес із заданим пріоритетом
нирки Змінює пріоритет уже запущеного процесу
df Надає вільний простір на жорсткому диску вашої системи
безкоштовно Надає безкоштовну оперативну пам'ять у вашій системі