Вступ
Команда ps у Linux використовується для отримання інформації про запущені процеси. Це одна з найважливіших команд для моніторингу системи та управління процесами. ps дозволяє переглядати статуси процесів, споживання пам’яті та CPU, ID процесів (PID), батьківські процеси (PPID) та багато іншого. Розуміння роботи з ps може допомогти виявляти та діагностувати проблеми, оптимізувати використання ресурсів та контролювати роботу серверів і робочих станцій.
Чому корисно знати команду ps
Команда ps дозволяє адміністраторам та користувачам дізнатись, що відбувається в системі в будь-який момент. За допомогою ps можна:
- Моніторити ресурси: переглядати споживання CPU та пам’яті для кожного процесу.
- Керувати процесами: знаходити та завершувати завислі або зайві процеси.
- Виявляти проблеми: знаходити зомбі-процеси (процеси, які завершили роботу, але залишились у системі) або процеси, що споживають надмірні ресурси.
Основний синтаксис і опції
Синтаксис команди ps:
ps [опції]
Найчастіше використовувані опції
- a: показує процеси всіх користувачів у системі.
- u: додає інформацію про власника процесу та використання ресурсів (CPU і пам’ять).
- x: включає процеси, що не прив’язані до терміналу (наприклад, фонові).
- -e: показує всі процеси.
- –sort: дозволяє сортувати процеси за обраним критерієм (наприклад, за використанням CPU або пам’яті).
Приклади використання команди ps
Зараз ми розглянемо декілька прикладів використання команди ps:
1. Запуск команди ps без параметрів
Якщо команду ps запустити без параметрів:
ps
Ця команда виведе лише процеси, запущені у поточній сесії терміналу, без додаткової інформації. Вивід включатиме колонки PID
(ідентифікатор процесу), TTY
(термінал, до якого прив’язаний процес), TIME
(час процесора, використаний процесом) і CMD
(команду, що була виконана). Це корисно, коли вам потрібен швидкий погляд на те, що працює у поточному терміналі.
Приклад виводу:
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
2345 pts/0 00:00:01 vim
3456 pts/0 00:00:00 ps
Тут показано процеси bash (інтерпретатор команд), vim (текстовий редактор), а також саму команду ps, яка запущена для виводу списку процесів.
2. Вивести всі процеси в системі
ps aux
Використовуючи aux, ви побачите всі процеси, їх власників, ID процесів, використання CPU та пам’яті, статус і команду, з якої вони запущені.
3. Сортування процесів за використанням пам’яті
ps aux --sort=-%mem
Команда виведе всі процеси, відсортовані за стовпцем %MEM (використання пам’яті), починаючи з найбільших споживачів. Це корисно для визначення процесів, що займають багато пам’яті.
4. Сортування процесів за використанням CPU
ps aux --sort=-%cpu
За допомогою цієї команди можна відсортувати процеси за відсотком використання CPU. Це корисно для виявлення ресурсомістких процесів.
5. Пошук зомбі-процесів
Зомбі-процеси – це процеси, що завершили виконання, але не були правильно видалені з пам’яті. Знайти їх можна так:
ps aux | grep 'Z'
Або для точнішого виводу:
ps -eo pid,ppid,stat,cmd | grep 'Z'
Ця команда виведе PID (ідентифікатор процесу), PPID (ідентифікатор батьківського процесу), статус і команду, що була виконана для зомбі-процесів.
6. Вивести всі процеси з конкретним ім’ям
Якщо потрібно знайти процес з певним ім’ям, наприклад, nginx
, можна скористатися командою:
ps aux | grep nginx
Це зручно для швидкого пошуку та контролю за конкретними сервісами.
7. Отримати детальну інформацію про всі процеси у форматі таблиці
ps -eF
Тут -eF
показує всі процеси та детальну інформацію про кожен, включаючи PID, PPID, користувача, CPU і використання пам’яті, а також час запуску.
Висновок
Команда ps
є одним із основних інструментів для моніторингу процесів у Linux. З її допомогою можна отримати повну інформацію про всі процеси, включаючи споживання ресурсів та статуси. Цей інструмент є незамінним для адміністратора систем, допомагаючи виявляти завислі процеси, аналізувати споживання ресурсів і контролювати активність у системі. Володіння командою ps надає користувачеві більше контролю над своєю системою та забезпечує ефективне управління процесами.