Как проверить процессы Кали Линукс.
10.05.2017В статье описываются команды, с помощью которых можно посмотреть запущенные процессы Кали Линукс в текущем сеансе, проверить потребление процессами оперативной памяти, нагрузку на процессор, рассмотрим сортировку процессов по степени приоритета и т.д.
Введение. Самая простая из команд.
Как и другие операционные системы, Кали является мультипроцессовой системой. А это значит, что на фоне запущенных в системе процессов существует своеобразный программный инструмент, позволяющий правильно распределять нагрузку оптимально в отношении исполняемых Кали задач: он решает какой процесс будет использоваться процессором и в какой промежуток времени. Если программа не отвечает или пользователь желает перебросить силы процессора на определённую задачу, без этих команд не обойтись.
Всё начинается с загрузки. Всякий раз по включении Кали вы видите список проверяемых служб, процессов и скриптов, которые запускаются вместе с системой. Большинство из них и есть сама система: скрипты инициализации, программы-демоны (это не ужасающий термин, а вполне устоявшееся определение родом из UNIX систем, означающий фоновый, скрытый от глаз пользователя процесс)… Со многими из них работать вообще никогда не придётся. Другое дело родительские процессы, которые позволяют запускать и контролировать процессы дочерние — запускаемые и контролируемые родительскими. С ними иногда приходится работать напрямую. Терминал нам в помощь.
Каждому из процессов в текущем сеансе присвоен свой персональный идентификатор или PID. С ним можно работать также как с названием процесса. Начнём с простого в порядке повышения информативности — наберём в окне терминала:
ps
Только что запущенное окно отобразит текущие процессы, связанные с текущим терминалом (выходом на конкретное задание или устройство). Это всегда bash и ps. Терминал говорит вам, что вы сейчас смотрите на текстовую командную оболочку Bourne-Again Shell (bash — оболочка, предложенная господами Бурном и Эгейном) и хотите увидеть список процессов ps, которые к данному терминалу присоединены. Окно терминала разбито на несколько столбцов, где:
- PID — номер процесса (не по порядку)
- TTY — среда текстового ввода/вывода (вообще-то это сокращение от teletype, но в этимологию линукс-команд лучше не вдаваться; хотя это многое порой объясняет). Сейчас под аббревиатурой TTY скрывается само окно терминала.
- PTS/X — pseudo terminal slave — ведомый псевдо терминал. Разница между TTY и PTS состоит в типе соединения с системой или компьютером. Первое — это устройства, которые соединены с компьютером напрямую: мышь, клавиатура, другое оборудование. PTS — это то, что связано с компьютером через сетевой протокол. Но и у тех и у других задача одна — подключаться к шеллу вашей Кали с целью вводить команду на управление компьютером под началом ОС. С каждым новым открытым окном терминала и те и другие значения будут меняться:
- TIME — сколько времени потрачено системой на исполнение процесса
- CMD — форма процесса
Теперь взглянем на все процессы Кали Линукс. Наберём:
ps x
Вот это я понимаю список. Как видно, описание процессов разбавил ещё один столбец, да и, ко всему прочему, добавились новые символы. Разберёмся.
С PID нам всё ясно. Однако почти все процессы под TTY заполнены знаками вопроса ?. Это означает, что ни один из этих процессов не связан ни с одним из терминалов сеанса Кали. Новый столбец STAT указывает на статус или состояние процесса. R — запущен, S — спит, T — остановлен, l — мультипоточный и т.д. Не все дополнительные флаги вам придётся увидеть, однако для полноты статьи какие процессы Кали принимают вид я справочно приведу (в алфавитном порядке латиницы):
- D — постоянно спящий режим (обычно для устройств ввода-вывода)
- R — запущенный или готовый к сиюминутному запуску процессов
- S — спящий процесс (в ожидании какого-то события для остановки или завершения)
- T — остановленный процесс
- X — заблокированный процесс
- Z — «зомби-процесс» (остановленный принудительно, но по некоторым причинам системой не возобновлённый)
Ко всему прочему к этим флагам могут быть доставлены дополнительные флаги:
- < — высокий приоритет процесса
- N — низкий приоритет
- s — лидирующий процесс в текущей сессии
- l — мультипоточный процесс
- + — процесс из группы в активных окнах
Но и это ещё не всё. Если наберёте команду:
ps aux
процессы Кали Линукс предстанут в ещё подробном описании. Здесь добавились столбцы использования процессом мощностей процессора (CPU) и оперативной памяти (MEM), время запуска каждого из процессов START, объём виртуальной памяти VSZ и, наконец, RSS — абсолютное значение объёма памяти, отнимаемой у RAM.
Процессы Кали: «Диспетчер задач» Линукс
Нет, это не тот, что в Windows, однако структура подачи данных напомнит виндовозам Диспетчер задач. Наберите команду:
top
и процессы Кали будут разбиты по другой структуре. Столбцы будут содержать известную вам информацию в том порядке, сколько ресурсов потребляют:
Однако характерной чертой скрипта можно назвать именно шапку вывода терминала, в которой показан абзац с не менее важными параметрами:
- top — время запуска задачи
- up — время работы Кали в текущем сеансе
- user — количество пользователей, которые пользуеются сеансом
- load average — среднее время ожидания процессом (-ами) на запуск (десятые и сотые доли означают, что процессор не загружен)
- Tasks: running (sleeping, stopped и т.д.) — исполняемые задачи и их текущий статус; запущены ли, остановлены и .т.д.
- Cpu — загрузка процессора (с описанием, сколько в общей доле тратится на пользовательские процессы us, системные sy, простой процессора id и другие)
- KiB Mem — объёмы общей, задействованной и простаиваемой памяти
- KiB Swap — объём виртуальной (на манер таковой в Windows) свеп-памяти, отбираемой при нехватке у HDD.
Ну что… В любой момент для любой из команд вы можете воспользоваться справкой или же покинуть окно через quit.
Успехов