Команда Ps в Linux (Список Процессов)

Команда Ps в Linux (Список Процессов)

Ps Command in Linux (List Processes)

11 Января 2020 | Терминал

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

Команда Ps в Linux (Список Процессов)

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

Есть несколько команд , которые вы можете использовать , чтобы найти информацию о запущенных процессах, с ps, pstree и top являются наиболее часто используемыми из них.


Как использовать ps команду

Общий синтаксис ps команды выглядит следующим образом:

ps [OPTIONS]

По историческим причинам и из соображений совместимости ps команда принимает несколько различных типов параметров:

  • Опции стиля UNIX, перед которыми стоит одна черточка.
  • Варианты стиля BSD, используемые без тире.
  • Длинные опции GNU, начинающиеся с двух тире.

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

Опции BSD и UNIX могут быть сгруппированы.

В простейшем виде, при использовании без какой-либо опции, ps напечатает четыре столбца информации для минимум двух процессов, запущенных в текущей оболочке, самой оболочки и процессов, которые запускаются в оболочке при вызове команды.

ps


Вывод включает в себя информацию о shell ( bash) и процессе, запущенном в этой оболочке ( psвведенная вами команда):

  PID TTY          TIME CMD
 1809 pts/0    00:00:00 bash
 2043 pts/0    00:00:00 ps


Четыре колонки помечены PID, TTY, TIME, и CMD.

  • PID- Идентификатор процесса. Обычно при запуске ps команды наиболее важной информацией, которую ищет пользователь, является идентификатор процесса. Знание PID позволяет убить сбойный процесс .
  • TTY - Название управляющего терминала для процесса.
  • TIME - Совокупное время ЦП процесса, показанное в минутах и ​​секундах.
  • CMD - Имя команды, которая использовалась для запуска процесса.

Вывод выше не очень полезен, так как он не содержит много информации. Настоящая сила ps команды появляется при запуске с дополнительными опциями.

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

ps чаще всего используется со следующей комбинацией параметров:

Форма BSD :

ps aux
  • a - Опция указывает psотображать процессы всех пользователей. Только процессы, не связанные с терминалом, и процессы руководителей групп не отображаются.
  • u - обозначает пользовательский формат, который предоставляет подробную информацию о процессах.
  • x - Инструктирует ps перечислить процессы без управляющего терминала. В основном это процессы, которые запускаются во время загрузки и работают в фоновом режиме .

Команда отображает информацию в одиннадцати столбцах USER, PID, %CPU, %MEM, VSZ, RSS, STAT, START, TTY, TIME, и CMD.

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.8  77616  8604 ?        Ss   19:47   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    19:47   0:00 [kthreadd]
...


Мы уже объяснили PID, TTY, TIME и CMD. Вот объяснение других меток:

  • USER - Пользователь, который запускает процесс.
  • %CPU - The CPU использование процесса.
  • %MEM - Процент резидентного установленного размера процесса к физической памяти на машине.
  • VSZ - Размер виртуальной памяти процесса в КиБ.
  • RSS - Размер физической памяти , используемой процессом.
  • STAT - Код состояния процесса, такой как (зомби), (спящий) и (работает).
  • START - время, когда команда началась.

Опция указывает , ps чтобы отобразить в виде дерева родителя к ребенку процессов:

ps auxf


Команда ps также позволяет вам сортировать вывод. Например, чтобы отсортировать вывод на основе использования памяти, вы должны использовать:

ps aux --sort=-%mem

UNIX форма :

ps -ef
  • -eПараметр предписывает , psчтобы отобразить все процессы.
  • На -fстендах полноформатный листинг, в котором представлена ​​подробная информация о процессах.


Команда отображает информацию в восьми столбцах UID, PID, PPID, C, STIME, TIME, и CMD.

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 19:47 ?        00:00:01 /sbin/init
root         2     0  0 19:47 ?        00:00:00 [kthreadd]
...


Метки, которые еще не объяснены, имеют следующее значение:

  • UID - То же USER, что и пользователь, который запускает процесс.
  • PPID - Идентификатор родительского процесса.
  • - То же %CPU, что и загрузка ЦП процесса.
  • STIME - То же START, что и время начала команды.

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

ps -f -U linuxize -u linuxize

Пользовательский формат 

o - Опция позволяет указать , какие столбцы отображаются при выполнении psкоманды.

Например, чтобы напечатать информацию только о PIDи COMMAND, вы должны выполнить одну из следующих команд:

ps -efo pid,comm
ps auxo pid,comm

Использование psс другими командами

ps может использоваться в сочетании с другими командами через трубопровод.

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

ps -ef | less


Вывод psкоманды можно отфильтровать с помощью grep. Например, чтобы показать только процесс, принадлежащий пользователю root, вы должны запустить:

ps -ef | grep root

Вывод 

Команда ps является одной из наиболее часто используемых команд при устранении неполадок в системах Linux. Она имеет много вариантов, но , как правило, большинство пользователей используют либо ps aux или ps -ef для сбора информации о запущенных процессах.

Для получения дополнительной информации ps, введите man ps свой терминал.


    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...