Керування процесами Linux/Unix: команди ps, kill, top, df, free, nice
Що таке процес?
Екземпляр програми називається процесом. Простіше кажучи, будь-яка команда, яку ви надаєте своїй машині Linux, запускає новий процес.
Для однієї програми можливо кілька процесів.
Типи процесів:
- Процеси переднього плану: Вони працюють на екрані й потребують введення від користувача. Наприклад, офісні програми
- Фонові процеси: Вони працюють у фоновому режимі і зазвичай не потребують введення користувача. Наприклад Антивірус.
Натисніть тут якщо відео недоступне
Запуск процесу переднього плану
Щоб запустити процес переднього плану, ви можете запустити його з інформаційної панелі або з терміналу.
Під час використання терміналу вам доведеться почекати, поки запуститься процес переднього плану.
Запуск фонового процесу
Якщо ви запускаєте програму/процес переднього плану з терміналу, ви не можете працювати на терміналі, доки програма не запуститься.
Конкретні завдання, що містять інтенсивні дані, вимагають багато обчислювальної потужності та можуть навіть тривати години. Ви ж не хочете, щоб ваш термінал затримався на такий довгий час.
Щоб уникнути такої ситуації, ви можете запустити програму та відправити її у фоновий режим, щоб термінал залишався доступним для вас. Давайте навчимося це робити –
Fg
Ви можете використовувати команду «fg», щоб продовжити програму, яку було зупинено, і вивести її на передній план.
Простий синтаксис цієї утиліти:
fg jobname
Приклад
- Запустіть музичний плеєр "banshee".
- Зупиніть це за допомогою команди 'ctrl +z'
- Продовжте це за допомогою утиліти '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 PID
вбити
Ця команда завершує запущені процеси у нас є машина 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 -h'
Безкоштовно
Ця команда показує вільну та використану пам’ять (RAM) у системі Linux.
Можна використовувати аргументи
free -m для відображення результату в МБ
free -g для відображення результату в ГБ
Основна інформація:
- Будь-яка запущена програма або команда, надана системі Linux, називається процесом
- Процес може працювати на передньому плані або у фоновому режимі
- Індекс пріоритету процесу в Linux називається Nice. Його значення за замовчуванням дорівнює 0 і може варіюватися від 20 до -19
- Чим нижчий індекс привітності, тим вищий пріоритет буде надано цьому завданню
Command | Опис |
---|---|
bg | Щоб відправити процес у фоновий режим |
fg | Щоб запустити зупинений процес на передньому плані |
топ | Подробиці про всі активні процеси |
ps | Передайте статус запущених процесів для користувача |
ps PID | Надає статус певного процесу |
підоф |
Надає ідентифікатор процесу (PID) процесу |
вбити ПІД | Вбиває процес |
приємно | Запускає процес із заданим пріоритетом |
нирки | Змінює пріоритет уже запущеного процесу |
df | Надає вільний простір на жорсткому диску вашої системи |
безкоштовно | Надає безкоштовну оперативну пам'ять у вашій системі |