Preloader

Limited Time Offer –

Get 50% OFF on all Reseller Hosting plans!

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

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

Как управлять и как завершить 1 или группу процессов. Чтобы правильно управлять процессами и ориентироваться в них,  как анализировать список процессов Linux, значение каждого элемента и причины, по которым он необходим, как просматривать список процессов по-разному, как анализировать, что это за процесс, почему это происходит и как с этим бороться. Мы рассмотрим это поближе.

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

Мы не будем подробно рассказывать про каждую команду, которая может быть использована для отображения списка запущенных процессов. Вместо этого мы решим эту задачу с помощью основной утилиты и рассмотрим, как отобразить список потоков процесса, вывести процессы, запущенные на определенном ядре, и найти скрытые процессы. Но сначала нам нужно разобраться с терминами.

  • Дочерний процесс – Процесс может запускать другие процессы для выполнения параллельных задач или запускать такие процессы для других целей, называемых дочерними процессами. Им выделяется отдельная область памяти;
  • Потоки – Потоки отличаются от процессов тем, что они используют те же дескрипторы памяти, данных и файлов, что и созданный процесс.
  • Процесс – заключается в загрузке программы и ее данных в память компьютера.

1. Утилита ps

Самый простой способ посмотреть список процессов, запущенных в текущей командой оболочке, использовать команду ps без параметров:

ps

Но вряд-ли вас интересует именно это. Чтобы посмотреть все процессы, добавьте опцию -e, а для максимально подробной информации – опцию -F:

ps -eF

Вот значение основных колонок в выводе утилиты:

  • UID– имя пользователя, от имени которого работает процесс;
  • PID– идентификатор пользователя;
  • PPID– идентификатор родительского процесса;
  • C– расходование ресурсов процессора, в процентах;
  • SZ– размер процесса;
  • RSS– реальный размер процесса в памяти;
  • PSR– ядро процессора, на котором выполняется процесс;
  • STIME– время, когда процесс был запущен;
  • TTY– если процесс привязан к терминалу, то здесь будет выведен его номер;
  • TIME– общее время выполнения процесса (user + system);
  • CMD– команда, которой был запущен процесс, если программа не может прочитать аргументы процесса, он будет выведен в квадратных скобках;

Чтобы посмотреть список процессов в виде дерева, и понимать какой процесс имеет какие дочерние процессы, выполните команду:

ps -efH

Для просмотра списка процессов с потоками используйте опцию-L:

ps -efL

Здесь появятся ещё две дополнительные колонки:

  • LWP– Это сокращение отLightWeightProccess. Идентификатор потока;
  • NLWP– количество потоков у этого процесса.

Чтобы посмотреть список процессов определенного пользователя, например, root используйте опцию-u:

ps -fu root

Теперь давайте перейдём к другим, более интересным, интерактивным утилитам.

2. Утилита top

Утилита top не поставляется вместе с системой, поэтому вам придется её установить. Для этого в Ubuntu выполните:

sudo apt install top

Программа позволяет интерактивно просматривать список запущенных процессов Linux. Чтобы вывести список процессов Linux выполните команду:

top

Колонки, которые выводит программа очень похожи на ps:

  • PID– идентификатор процесса;
  • USER– имя пользователя, от имени которого выполняется процесс;
  • PR– приоритет планировщика, установленный для процесса;
  • NI– рекомендуемый приоритет процесса. Это значение можно менять, может не совпадать с реальным приоритетом планировщика;
  • VIRT– всё, что находится в памяти, используется или зарезервировано для использования;
  • RES– всё, что находится в оперативной памяти и относится к процессу. Расшифровывается какResident Memory Size, указывается в килобайтах;
  • SHR– часть памяти из RES, которую занимают ресурсы, доступные для использования другим процессам. Расшифровывается –Shared Memory Size.
  • S– состояние процесса: D – ожидает завершения операции, R – запущен, S – спит, T – остановлен, t – остановлен отладчиком, Z – зомби;
  • %CPU– процент использования ресурсов процессора;
  • %MEM– процент использования ресурсов оперативной памяти на основе колонкиRES;
  • TIME– обще процессорное время, которое процесс использовал с момента запуска;
  • COMAND– команда, с помощью которой был запущен процесс.

Для того чтобы сделать вывод программы цветным, нажмитеZ:

Чтобы вывести дерево процессов Linux нажмите сочетание клавиш Shift+V:

Для отображения потоков нажмите Shift + H:

Если вам недостаточно стандартных полей с информацией о процессах, вы можете нажатьShift + F и выбрать дополнительные поля, которые надо отображать. Для выбора или удаления поля используйте пробел:

 

3. Утилита htop

Это ещё более мощная утилита для просмотра запущенных процессов в Linux. Пользоваться ею намного удобнее. Здесь поддерживаются не только горячие клавиши, но и управление мышью. А ещё она выводит всё в цвете, поэтому смотреть на данные намного приятнее. Для установки программы выполните:

sudo apt install htop

Для того чтобы запустить выполните в терминале:

htop

Колонки, которые вы увидите в выводе программы, аналогичны тем, что доступны в top, поэтому я не буду рассматривать их здесь отдельно. Для настройки выводимых данных нажмите кнопку F2, затем перейдите в раздел Display Options:

Здесь надо отметить Tree view для вывода списка процессов в виде дерева, а также снять отметки с пунктов Hide threads… для отображения потоков. Здесь есть как потоки пространства пользователя userland process threads, так и потоки пространства ядра – kernel threads. Теперь всё это будет отображаться. Для того чтобы настроить какие колонки будут отображаться используйте пункт меню Columns

 

 

Хостинг для сайта в Беларуси
Обзор конфиденциальности

На этом сайте используются файлы cookie, что позволяет нам обеспечить наилучшее качество обслуживания пользователей. Информация о файлах cookie хранится в вашем браузере и выполняет такие функции, как распознавание вас при возвращении на наш сайт и помощь нашей команде в понимании того, какие разделы сайта вы считаете наиболее интересными и полезными.