2. Інформація про процеси: ps і pstree

Ці дві команди виводять список процесів, запущених на даний момент в системі, відповідно до встановлених вами критеріїв. pstree виводить інформацію у зрозумілому вигляді порівняно з ps -f.

2.1. ps

Запуск ps без аргументів покаже лише ті процеси, що запущені вами, і які прив'язані до термінала, що використовується вами:

$ ps
       PID TTY          TIME CMD
     18614 pts/3    00:00:00 bash
     20173 pts/3    00:00:00 ps

Як і багато утиліт UNIX®, ps має корисні опцій, найбільш спільними з яких є:

  • a: виводить процеси, запущені всіма користувачами;

  • x: виводить процеси без керуючого термінала або з керуючим терміналом, який відрізняється від того, який використовується вами;

  • u: виводить для кожного з процесів ім'я користувача, який запустив його, і час запуску.

Існує ще безліч інших опцій. За додаткової інформацією звертайтеся до до сторінці керівництва ps(1).

Виведення ps розділений на кілька полів: найчастіше вас цікавитимуть поле PID, яке містить ідентифікатор процесу. Поле CMD містить ім'я виконуваної команди. Найчастіше команда ps викликається так:

$ ps ax | less

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

2.2. pstree

Команда pstree виводить процеси у формі дерева. Основною перевагою є те, що ви відразу можете побачити батьківські процеси: якщо потрібно знищити цілу серію процесів, а вони всі відбуваються від одного батька, ви можете просто вбити цей батьківський процес. Вам доведеться скористатися опцією -p для виведення PID всіх процесів і опцією -u для виведення імені користувача, який запустив процес. Через те, що дерево найчастіше досить велике, вам знадобиться запустити pstree так:

$ pstree -up | more

При цьому ви отримаєте огляд всієї структури дерева процесів.