Linux посмотреть список процессов

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

Вывести на экран список текущих процессов, запущенных пользователем, можно командой:

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

Мы увидим, примерно, следующее:

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 661 0.0 0.0 4072 8 tty1 Ss+ Jul03 0:00 /sbin/mingetty
root 662 0.0 0.0 4072 8 tty2 Ss+ Jul03 0:00 /sbin/mingetty
root 16355 0.0 0.0 171636 3308 pts/0 S 15:46 0:00 sudo su
root 16366 0.0 0.0 140896 1556 pts/0 S 15:46 0:00 su
root 16368 0.0 0.0 108316 1944 pts/0 S 15:46 0:00 bash
root 18830 0.0 0.0 110244 1172 pts/0 R+ 16:20 0:00 ps u

  • USER — учетная запись пользователя, от которой запущен процесс.
  • P > Ключ Описание -A Все процессы. -a Запущенные в текущем терминале, кроме главных системных. -d Все, кроме главных системных процессов сеанса. -e Все процессы. f Показать дерево процессов с родителями. T Все на конкретном терминале. a Все, связанные с текущим терминалом и терминалами других пользователей. r Список только работающих процессов. x Отсоединённые от терминала. u Показать пользователей, запустивших процесс.

Примеры

Поиск процесса с помощью grep:

ps aux | grep apache

Убить процесс

Останавливаем процесс по его PID:

Если процесс не завершается, убиваем его принудительно:

Остановить все процессы с именем nginx:

Как и в случае с kill, можно это сделать принудительно:

killall -9 nginx

Подробная информация о процессе

Для каждого процесса создается каталог по пути /proc/

, в котором создаются папки и файлы с описанием процесса.

Примеры использования /proc/

Подробный вывод статуса:

Адрес в ячейках оперативной памяти, которые занял процесс:

Команда, которой был запущен процесс:

Символьная ссылка на рабочий каталог процесса:

Символьная ссылка на исполняемый файл, запустивший процесс:

Увидеть ссылки на дескрипторы открытых файлов, которые затрагивает процесс:

Подробное описание на сайте man7.org.

Потребление ресурсов процессами

Для просмотра статистики потребления ресурсов используем утилиту top:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21059 root 20 0 157884 2280 1496 R 18,8 0,1 0:00.03 top
1 root 20 0 190996 2964 1652 S 0,0 0,1 6:49.99 systemd
2 root 20 0 0 0 0 S 0,0 0,0 0:01.78 kthreadd
3 root 20 0 0 0 0 S 0,0 0,0 0:24.75 ksoftirqd/0
5 root 0 -20 0 0 0 S 0,0 0,0 0:00.00 kworker/0:0H

  • PID — идентификатор процесса.
  • USER — имя учетной записи, от которой запущен процесс.
  • PR — приоритет процесса.
  • NI — приоритет, выставленной командой nice.
  • VIRT — объем виртуальной памяти, потребляемый процессом.
  • RES — объем используемой оперативной памяти.
  • SHR — количество разделяемой памяти, которое используется процессом.
  • S — состояние процесса.
  • %CPU — процент использования процессорного времени.
  • %MEM — потребление оперативной памяти в процентах.
  • TIME — использование процессорного времени в секундах.
  • COMMAND — команда, которая запустила процесс.

Иногда у пользователя появляется надобность отследить список запущенных процессов в операционной системе Linux и узнать максимально детальную информацию о каждом из них или о каком-то конкретно. В ОС присутствуют встроенные средства, позволяющие осуществить поставленную задачу без каких-либо усилий. Каждый такой инструмент ориентирован под своего юзера и открывает для него разные возможности. В рамках этой статьи мы затронем два варианта, которые будут полезны в определенных ситуациях, а вам останется только выбрать наиболее подходящий.

Просматриваем список процессов в Linux

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

Способ 1: Терминал

Бесспорно, классическая консоль операционных систем на Линуксе играет важнейшую роль при взаимодействии с программами, файлами и другими объектами. Все основные манипуляции юзер производит именно через это приложение. Потому с самого начала хотелось бы рассказать о выводе информации именно через «Терминал». Обратим внимание мы лишь на одну команду, однако рассмотрим самые популярные и полезные аргументы.

  1. Для начала запустите консоль, нажав на соответствующий значок в меню или используя комбинацию клавиш Ctrl + Alt + T.

Пропишите команду ps , чтобы просто убедиться в ее работоспособности и ознакомиться с видом показанных данных без применения аргументов.

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

Предыдущая команда не отображает лидера группы (главный процесс из связки). Если вас интересуют и эти данные, здесь следует прописать ps -d .

Получить большее количество полезной информации можно, просто добавив -f .

Тогда полный список процессов с расширенной информацией будет вызываться через ps -Af . В таблице вы увидите UID — имя пользователя, запустившего процесс, PID — уникальный номер, PPID — номер родительского процесса, C — количество времени нагрузки на ЦП в процентах, когда активен процесс, STIME — время активации, TTY — номер консоли, откуда был совершен запуск, TIME — время работы, CMD — команда, запустившая процесс.

Отдельно хотелось бы затронуть и сортировку. Например, команда ps -FA —sort pcpu позволяет поставить все строки в порядке нагрузки на CPU, а ps -Fe —sort rss — по затрачиваемому объему оперативной памяти.

Выше мы рассказали об основных аргументах команды ps , однако присутствуют еще и другие параметры, например:

  • -H — отображение дерева процессов;
  • -V — вывод версий объектов;
  • -N — выборка всех процессов кроме заданных;
  • -С — отображение только по имени команды.

Для рассмотрения метода просмотра процессов через встроенную консоль мы выбрали именно команду ps , а не top , поскольку вторая ограничена размерами окна и не помещающиеся данные просто игнорируются, оставаясь невыведенными.

Способ 2: Системный монитор

Конечно, метод просмотра нужной информации через консоль является сложным для некоторых пользователей, но он позволяет подробно ознакомиться со всеми важными параметрами и применить необходимые фильтры. Если вы хотите просто просмотреть список запущенных утилит, приложений, а также совершить с ними ряд взаимодействий, вам подойдет встроенное графическое решение «Системный монитор».

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

    Запустите «Системный монитор» любым удобным методом, например, через меню.

Сразу же отобразится список процессов. Вы узнаете, сколько они потребляют памяти и ресурсов ЦП, увидите пользователя, запустившего выполнение программы, а также сможете ознакомиться с другой информацией.

Щелкните правой кнопкой мыши на интересующей строке, чтобы перейти в ее свойства.

Здесь отображаются практически все те же данные, которые доступны к получению через «Терминал».

Используйте функцию поиска или сортировки, чтобы найти необходимый процесс.

Обратите внимание и на панель сверху — она позволяет сортировать таблицу по необходимым значениям.

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

Отблагодарите автора, поделитесь статьей в социальных сетях.

Введение

Процесс – это системный термин, который используется для описания приложения или программы. К примеру, когда мы открываем веб-браузер Google Chrome, мы можем сказать, что это процесс ответственный за запуск/выполнение Chrome, который был запущен и выполняется до тех пор пока мы не закроем браузер. Даже когда мы выполняем любую bash команду, появляется новый процесс. Если мы откроем одно и тоже приложение дважды, появится два процесса. В этом руководстве вы узнаете, как узнать список процессов Linux с помощью командной строки. Это необходимо, если вы хотите узнать какие процессы запущены в данный момент, каким пользователем запущен процесс или просто узнать какой из процессов использует больше всего ресурсов сервера.

Что вам понадобится

Перед тем, как вы начнете это руководство, вам понадобится следующее:

  • Доступ к командной строке

Шаг 1 — Просмотр списка процессов Linux

Список терминов которые вам необходимо знать перед прочтением руководства:

  1. PID – идентификатор процесса. Каждый процесс имеет свой 5 значный код. Эти числа могут закончиться и начать повторяться, но в любое другое время у каждого процесса свой уникальный PID.
  2. PPID – родительский идентификатор процесса. Идентификатор процесса который запустил этот конкретный процесс.

Две самые часто используемые команды для показа списка процессов Linux это top и ps. Разница между ними заключается в том, что top чаще используется в интерактивном режиме, а ps больше используется в скриптах, в сочетании с другими bash командами.

top – возможно одна из самых базовых и часто используемых команд для отображения процесса, который потребляет наибольшее количество ресурсов сервера. После выполнения данной команды, вы должны увидеть похожее окно:

top само по себе является приложением, после выполнения команды появится новая таблица с постоянно обновляющимся списком процессов Linux. С данной таблицей можно взаимодействовать посредством клавиатуры. Вот несколько примеров:

  • h или ? – отобразить окно помощи со всеми командами и другой полезной информацией.
  • space – нажатие пробела на вашей клавиатуре вручную обновит таблицу процессов.
  • f – добавить поле для отображения в новом окне или удалить определенные поля в таблице.
  • q – выйти из приложения или дополнительных окон принадлежащих к нему. К примеру, после использования функции f.
  • l – включить отображение информации о средней загрузке и времени работы.
  • m – включить отображение информации о памяти.
  • P (Shift + p) – отсортировать процессы по количеству используемой памяти.
  • s – изменить задержку между обновлениями списка (вам будет предложено ввести значение в секундах).

Вы также можете использовать определенные опции с командой top:

  • -d delay – укажите задержку между обновлениями вместо delay.
  • -n number – обновить страницу определенное число раз и выйти из приложения. Вместо number введите значение.
  • -p pid – отображать и контролировать процессы только с определенным (pid).
  • -q – обновлять без какой-либо задержки.

Для получения информации о других полезных командах для клавиатуры, посетите данный сайт.

Также, вы можете использовать команду man top для просмотра полезной информации об этих командах.

Другие полезные применения команды top:

  • Для отображения процессов определенного пользователя, вы можете использовать это: top -u user
  • Для закрытия процесса, нажмите в окне приложения top клавишу k на клавиатуре. Далее, вам будет предложено вписать идентификатор процесса (pid), который вы хотите закрыть.
  • Вы можете сохранить текущие настройки команды top используя сочетание клавиш Shift + W. Эти настройки будут сохранены в директории /root/.toprc

ps – Еще одна полезная команда для отображения списка процессов Linux. Вот несколько опций часто используемых с этой командой:

  • -e – отображение всех процессов.
  • -f – полное форматирование списка.
  • -r – отображение запущенных процессов.
  • -u – опция для показа процессов определенного пользователя или пользователей.
  • –pid – опция для фильтрации процессов по PID.
  • –ppid – опция для фильтрации процессов по родительскому PID.
  • -C – фильтровать процессы по их имени или команде.
  • -o – отображение информации, связанной с пробелом или списком ключевых слов, разделенных запятыми.

Вот несколько полезных примеров того, как вы можете использовать команду ps:

  1. ps -ef – отобразит список процессов, которые запущены прямо сейчас (еще одна похожая команда ps aux)
  2. ps -f -u user1,user2 – отобразит все процессы основанные на предоставленном U >Мы рекомендуем посетить эту страницу для получения более подробной информации об использовании команды ps.

Шаг 2 — Закрытие и расстановка приоритета процессов

В предыдущем шаге мы уже рассказывали о том, как можно закрыть процесс с помощью команды top. Этот же результат может быть достигнут при помощи команды kill. К примеру:

kill pid – впишите вместо PID идентификатор процесса, который вы хотите закрыть. Если процесс довольно упрямый и не хочет быть закрыт, вы можете использовать команду: kill -9 pid.

Еще одной командой для управления процессами является NICE. Обычно она используется для расстановки приоритетов для процессов, когда на вашей системе их запущено действительно много. В этом случае ваша система узнает какие из процессов являются важными и установит для них более высокий приоритет. Проще говоря, она помогает вам расставить приоритеты процессов от более важных к менее важным. Система будет запускать процесс, который имеет меньший приоритет только в том случае, если для этого имеется достаточно ресурсов ЦПУ. Этой команде можно задать значение от -20 до 19, чем меньше значение, тем выше приоритет процесса. Стандартный приоритет для всех приложений . Основным синтаксисом будет:

  • nice -n ‘значение’ process name – Пример: nice -n 10 name. Это начнет новый процесс с выбранным приоритетом (10).
  • Если вы хотите задать значение приоритета для уже запущенного приложения используйте: renice ‘значение’ -p ‘P >Заключение

В этом руководстве вы научились, как узнать список процессов Linux. Также вы познакомились с командами позволяющими управлять данными процессами. С данными командами существует множество комбинаций, поэтому не бойтесь экспериментировать.

Читайте также:  Блокнот для телефона андроид