В статье описываются команды, с помощью которых можно посмотреть запущенные процессы Кали Линукс в текущем сеансе, проверить потребление процессами оперативной памяти, нагрузку на процессор, рассмотрим сортировку процессов по степени приоритета и т.д.
Введение. Самая простая из команд.
Как и другие операционные системы, Кали является мультипроцессовой системой. А это значит, что на фоне запущенных в системе процессов существует своеобразный программный инструмент, позволяющий правильно распределять нагрузку оптимально в отношении исполняемых Кали задач: он решает какой процесс будет использоваться процессором и в какой промежуток времени. Если программа не отвечает или пользователь желает перебросить силы процессора на определённую задачу, без этих команд не обойтись.
Всё начинается с загрузки. Всякий раз по включении Кали вы видите список проверяемых служб, процессов и скриптов, которые запускаются вместе с системой. Большинство из них и есть сама система: скрипты инициализации, программы-демоны (это не ужасающий термин, а вполне устоявшееся определение родом из 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.
Успехов