Як Дізнатися Список Процесів Linux за Допомогою Командного Рядка

Last Updated on: Травень 2nd, 2017Renat5 Хв Читання

Введення

Процес – це системний термін, який використовується для опису програми або програми. Приміром, коли ми відкриваємо веб-браузер Google Chrome, ми можемо сказати, що це процес відповідальний за запуск/виконання Chrome, який був запущений і виконується до тих пір поки ми не закриємо браузер. Навіть коли ми виконуємо будь-яку bash команду, з’являється новий процес. Якщо ми відкриємо одне і теж додаток двічі, з’явиться два процесу. У цьому керівництві ви дізнаєтеся, як дізнатися список процесів Linux за допомогою командного рядка. Це необхідно, якщо ви хочете дізнатися, які процеси запущені в даний момент, яким користувачем запущений процес або просто дізнатися який з процесів використовує найбільше ресурсів сервера.

Зміст

  • Що вам знадобиться
  • Крок 1 — Перегляд списку процесів Linux
  • Крок 2 — Закриття і розстановка пріоритету процесів
  • Висновок

Що вам знадобиться

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

  • Доступ до командного рядка

Крок 1 — Перегляд списку процесів Linux

Список термінів, які вам необхідно знати перед прочитанням керівництва:

  • PID – ідентифікатор процесу. Кожен процес має свій 5 значний код. Ці числа можуть закінчитися і почати повторюватися, але в будь який інший час у кожного свій унікальний PID.
  • PPID – батьківський ідентифікатор процесу. Ідентифікатор процесу який запустив цей конкретний процес.
  • Дві найбільш часто використовувані команди для показу списку процесів Linux це top і ps. Різниця між ними полягає в тому, що top частіше використовується в інтерактивному режимі, а ps більше використовується в скриптах, в поєднанні з іншими bash командами.

    top – можливо, одна з найбільш базових і часто використовуваних команд для відображення процесу, який споживає найбільшу кількість ресурсів сервера. Після виконання даної команди, що ви повинні побачити схоже вікно:

    top саме по собі є додатком, після виконання команди з’явиться нова таблиця з постійно оновлюється списком процесів Linux. З даної таблиці можна взаємодіяти за допомогою клавіатури. Ось кілька прикладів:

    • h або ? – відобразити вікно допомоги з усіма командами та іншою корисною інформацією.
    • space – натискання пробілу на вашій клавіатурі вручну оновити таблицю процесів.
    • f – додати поле для відображення в новому вікні або видалити певні поля таблиці.
    • q – вийти з програми або додаткових вікон належать до нього. Приміром, після використання функції f.
    • l – включити відображення інформації про середню завантаженні і часу роботи.
    • m – включити відображення інформації про пам’ять.
    • P (Shift + p) – відсортувати процеси за кількістю використовуваної пам’яті.
    • s – змінити затримку між оновленнями списку вам буде запропоновано ввести значення в секундах).

    Ви також можете використовувати певні опції з командою top:

    • -d delay – вкажіть затримку між оновленнями замість delay.
    • -n number – оновити сторінку певне число раз і вийти з програми. Замість number введіть значення.
    • -p pid – відображати та контролювати процеси лише з певним (pid).
    • -q – оновлювати без будь-якої затримки.

    Для отримання інформації про інших корисних командах для клавіатури, відвідайте цей сайт.

    Також, ви можете використовувати команду man top для перегляду корисної інформації про цих командах.

    Інші корисні застосування команди top:

    • Для відображення процесів певного користувача, ви можете використовувати це: top -u user
    • Для закриття процесу, натисніть у вікні програми top клавішу k на клавіатурі. Далі, вам буде запропоновано вписати ідентифікатор процесу (pid), який ви хочете закрити.
    • Ви можете зберегти поточні налаштування команди top використовуючи поєднання клавіш Shift + W. Ці налаштування будуть збережені в теці /root/.toprc

    ps – Ще одна корисна команда для відображення списку процесів Linux. Ось кілька опцій часто використовуваних з цією командою:

    • -e – відображення всіх процесів.
    • -f – повне форматування списку.
    • -r – відображення запущених процесів.
    • -u – опція для показу процесів певного користувача або користувачів.
    • –pid – опція для фільтрації процесів за PID.
    • –ppid – опція для фільтрації процесів по батьківському PID.
    • -C – фільтрувати процеси з їх імені або команді.
    • -o – відображення інформації, пов’язаної з пропуском або списком ключових слів, розділених комами.

    Ось кілька корисних прикладів того, як ви можете використовувати команду ps:

  • ps -ef – відобразить список процесів, які запущені прямо зараз (ще одна схожа команда ps aux)
  • ps -f -u user1,user2 – відобразить всі процеси засновані на наданому UID (ID користувача або ім’я користувача).
  • ps -f –pid id – відображає процеси засновані на pid. Введіть ідентифікатор процесу замість id. Може бути використана разом з PPID.
  • ps -C command/name – фільтрація процесів по їх імені або команді.
  • ps aux –sort=-pcpu,+pmem – відображає процеси споживають велику кількість ресурсів ЦПУ.
  • ps -e -o pid,uname,pcpu,pmem,comm – використовується для фільтрації певних стовпців з подальшим їх відображенням.
  • ps -e -o pid,comm,etime – ця команда відображає час, що минув з запуску процесу.
  • Ми рекомендуємо відвідати цю сторінку для отримання більш детальної інформації про використання команди ps.

    Крок 2 — Закриття і розстановка пріоритету процесів

    У попередньому розділі ми вже розповідали про те, як можна закрити процес з допомогою команди top. Цей же результат може бути досягнутий за допомогою команди kill. Наприклад:

    kill pid – впишіть замість PID ідентифікатор процесу, який ви хочете закрити. Якщо процес впертий і не хоче бути закритий, ви можете використовувати команду: kill -9 pid.

    Ще однією командою для управління процесами є NICE. Зазвичай вона використовується для розстановки пріоритетів для процесів, коли на вашій системі їх запущено дійсно багато. У цьому випадку ваша система дізнається які з процесів є важливими і встановить для них більш високий пріоритет. Простіше кажучи, вона допомагає вам розставити пріоритети процесів від більш важливих до менш важливих. Система буде запускати процес, який має менший пріоритет тільки в тому випадку, якщо для цього є достатньо ресурсів ЦПУ. Цю команду можна задати значення від -20 до 19, чим менше значення, тим вищий пріоритет процесу. Стандартний пріоритет для всіх додатків 0. Основним синтаксисом буде:

    • nice ‘n ‘ значення’ process name – Приклад: nice -n 10 name. Це почне новий процес з вибраним пріоритетом (10).
    • Якщо ви хочете задати значення пріоритету для вже запущеного додатка використовуйте: renice ‘значення’ -p ‘PID’ – Приклад: renice ’10’ -p ‘54125’.

    Висновок

    У цьому керівництві ви навчилися, як дізнатися список процесів Linux. Також ви познайомилися з командами дозволяють управляти цими процесами. З цими командами існує безліч комбінацій, тому не бійтеся експериментувати.