Список процесів linux

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

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

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

Процес Linux - це екземпляр програми, запущений в пам`яті. Всі процеси можна розділити на звичайні і фонові. Більш докладно про це написано в статті управління процесами Linux. Linux - це розрахована на багато користувачів система, кожен користувач може запускати одні і ті ж програми, і навіть один користувач може захотіти запустити кілька екземплярів однієї програми, тому ядру потрібно якось ідентифікувати такі однотипні процеси. Для цього кожному процесу присвоюється PID (Proccess Identificator).

Кожен з процесів може перебувати в одному з таких станів:

  • запуск - процес або вже працює, або готовий до роботи і чекає, коли йому буде дано процесорний час;
  • очікування - процеси в цьому стані очікують якої-небудь події або звільнення системного ресурсу. Ядро ділить такі процеси на два типи - ті, які очікують звільнення апаратних засобів і призупинення за допомогою сигналу;
  • зупинено - зазвичай, в цьому стані знаходяться процеси, які були зупинені за допомогою сигналу;
  • зомбі - це мертві процеси, вони були зупинені і більше не виконуються, але для них є запис в таблиці процесів, можливо, через те, що у процесу залишилися дочірні процеси.

А тепер давайте перейдемо ближче до практики і поговоримо про те, як дізнатися запущені процеси linux.

Список процесів Linux

Найпопулярніші команди для вирішення цього завдання - це ps, top і htop. Останні дві команди ми вже розглядали в попередніх статтях, власне, вони інтерактивні і з ними у вас не виникне проблем. Зараз же хотілося б зупинитися більш детально на ps. Спочатку розглянемо загальний синтаксис команди, тут все дуже просто:

$ ps опції

$ ps опції | grep параметр

У другому варіанті ми використовуємо утиліту grep для того, щоб відібрати потрібні нам процеси за певним критерієм. Тепер розглянемо опції утиліти. Вони діляться на два типи - ті, які йдуть з дефісом Unix і ті, які використовуються без дефіса - BSD. Краще користуватися тільки опціями Unix, але ми розглянемо і одні і інші. Зауважте, що при використанні опцій BSD, висновок утиліти буде організований в BSD стилі.

  • -A, (a) - вибрати всі процеси;
  • -a - вибрати всі процеси, крім фонових;
  • -d, (g) - вибрати всі процеси, навіть фонові, крім процесів сесій;
  • -N - вибрати всі процеси крім зазначених;
  • - вибирати процеси по імені команди;
  • -G - вибрати процеси по ID групи;
  • -p, (p) - вибрати процеси PID;
  • --ppid - вибрати процеси по PID батьківського процесу;
  • -s - вибрати процеси по ID сесії;
  • -t, (t) - вибрати процеси по tty;
  • -u, (U) - вибрати процеси користувача.

Опції форматування:

  • - відображати інформацію планувальника;
  • -f - вивести максимум доступних даних, наприклад, кількість потоків;
  • -j, (j) - вивести процеси в стилі Jobs, мінімум інформації;
  • -M, (Z) - додати інформацію про безпеку;
  • -o, (o) - дозволяє визначити свій формат виведення;
  • --sort, (k) - виконувати сортування по зазначеній колонці;
  • -L, (H)- відображати потоки процесів в колонках LWP і NLWP;
  • -m, (m) - вивести потоки після процесу;
  • -V, (V) - вивести інформацію про версію;
  • -H - відображати дерево процесів linux;

Тепер, коли ви знаєте синтаксис і опції, можна перейти ближче до практики і подивитися запущені процеси в Linux. Щоб просто подивитися процеси в linux в поточній оболонці використовуйте команду без параметрів:

$ Ps -A 


Всі процеси, включаючи фонові і лідери груп:

$ Ps -f

При використанні опції -f команда видає такі колонки:

  • UID - користувач, від імені якого запущено процес;
  • PID - ідентифікатор процесу;
  • PPID - ідентифікатор батьківського процесу;
  • C - відсоток часу CPU, використовуваного процесом;
  • STIME - час запуску процесу;
  • TTY - термінал, з якого запущений процес;
  • TIME - загальний час процесора, витрачений на виконання процесора;
  • CMD- команда запуску процесора;
  • LWP - показує потоки процесора;
  • PRI - пріоритет процесу.

Наприклад, також можна вивести детальну інформацію про всі процеси:

$ Ps -Fe


Якщо ви хочете отримати ще більше інформації, використовуйте замість -f опцію -l:

$ Ps -fu root

За допомогою опції -H можна відобразити дерево процесів:

$ Ps -fp 1

Через кому можна вказати кілька PID:

$ Ps -fC chrome

Далі можна використовувати опцію -L щоб відобразити інформацію про процеси:

$ Ps -o pid, comm

Ви можете вибрати такі колонки для відображення: pcpu, pmem, args, comm, cputime, pid, gid, lwp, rss, start, user, vsize, priority. Для зручності перегляду можна відсортувати висновок програми по потрібної колонці, наприклад, перегляд процесів linux, які використовують найбільше пам`яті:

$ Ps -FA --sort pcpu

Ще одна опція - M, яка дозволяє вивести інформацію про права безпеки і прапори SELinux для процесів:

$ Ps -e | wc

Ми розглянули всі основні можливості утиліти ps. Далі ви можете поекспериментувати з її параметрами і опціями щоб знайти потрібні комбінації, також можна спробувати застосувати опції BSD.

висновки

Команда ps може бути дуже корисною якщо система перевантажена і вам необхідно терміново дізнатися запущені процеси linux щоб звільнити пам`ять або ресурси процесора. Інтерактивні засоби не завжди можуть допомогти, тому що вони споживають занадто багато ресурсів. З іншого боку ps дає більшу гнучкість оскільки утиліта має безліч опцій і параметрів. У всякому разі тепер ви знаєте як вивести список процесів linux. Якщо залишилися питання, питайте в коментарях!

Поділися в соціальних мережах:

Схожі
Lame - linux administration made easyLame - linux administration made easy
Використання оперативної пам`яті в linuxВикористання оперативної пам`яті в linux
Як приховати процес в linuxЯк приховати процес в linux
Завантаження диска linuxЗавантаження диска linux
System tuner proSystem tuner pro
Як вбити процес linuxЯк вбити процес linux
Робота з powershell linuxРобота з powershell linux
Opera для linuxOpera для linux
Команда taskkill - завершити процес.Команда taskkill - завершити процес.
Управління процесами в linuxУправління процесами в linux
» » Список процесів linux