Linux. Просмотр списка процессов, ps, -ef, aux

Linux. Просмотр списка процессов, ps, -ef, aux

Для просмотра списка работающих процессов в Linux используется команда «ps». У команды большое количество параметров, которые можно использовать как по отдельности, так и вместе. Ниже описаны основные из них. Для получение полной справочной информации введите команду «man ps».

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

Команда может отображать больше или меньше процессов, в зависимости от установленных параметров. Так команда, введённая без параметров, отобразит только процессы текущей оболочки. Добавив к команде параметр «a» (при установке параметров регистр имеет значение) вы получите уже процессы всех пользователей. Команда с параметром «-A» или «-e», выведет полный список процессов.

# Процессы текущего пользователя
$ ps
PID    TTY     TIME      CMD
68258  pts/30  00:00:00  bash
69821  pts/30  00:00:00  sleep
70197  pts/30  00:00:00  sleep
71720  pts/30  00:00:00  ps

# Все процессы
$ ps -e
PID   TTY      TIME      CMD
15291  ?       00:00:00  sshd-session
15294  pts/19  00:00:00  bash
26876  pts/30  00:00:00  ps
68251  ?       00:00:00  sshd-session
68258  pts/30  00:00:00  bash
69821  pts/30  00:00:00 sleep
70197  pts/30  00:00:00 sleep

Информация о процессах

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

# Больше информации о процессах
$ ps -f
UID   PID    PPID   C  STIME TTY     TIME      CMD
igor  47156  68258  0  13:04 pts/30  00:00:00  ps -f
igor  68258  68251  0  12:39 pts/30  00:00:00  -bash
igor  69821  68258  0  12:40 pts/30  00:00:00  sleep 10000
igor  70197  68258  0  12:40 pts/30  00:00:00  sleep 20000

# Ещё больше информации о процессах
$ ps -F
UID   PID    PPID   C  SZ    RSS    PSR STIME  TTY     TIME      CMD
igor  47706  68258  0  5110   2612   2  13:04  pts/30  00:00:00  ps -F
igor  68258  68251  0  7010  11012  13  12:39  pts/30  00:00:00  -bash
igor  69821  68258  0  1782    640  55  12:40  pts/30  00:00:00  sleep 10000
igor  70197  68258  0  1782    692   1  12:40  pts/30  00:00:00  sleep 20000

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

  • UID - Идентификатор пользователя, запустившего процесс;
  • PID - Идентификатор процесса;
  • PPID - Идентификатор родительского процесса;
  • C - Целое число, отображающее загрузку процессора;
  • %CPU - Загрузка процессора данным процессом;
  • %MEM - Процент памяти, используемой процессором;
  • SZ - Размер основных данных процесса в памяти;
  • VSZ - Объем виртуальной памяти процесса;
  • RSS - Физическая память, которую использует процесс;
  • PSR - Процессор, которому в данный момент назначен процесс;
  • STIME - Время запуска процесса;
  • TTY - Терминал, запустивший процесс;
  • STAT - Состояние, в котором находится процесс. Подробней смотрите ниже;
  • TIME - Процессорное время, затраченное на выполнение процесса;
  • CMD - Имя команды, запустившей процесс;
  • COMMAND - Подробное описание команды CMD;

Комбинирование параметров

Параметры, отвечающие за список процессов, и параметры, настраивающие выводимую информацию, можно группировать. Таким образом регулируется полнота отображаемых процессов и набор информации о них.

Наиболее распространёнными сочетаниями параметров можно назвать «-ef» и «aux». И в одном и в другом случае выводится весть список процессов, но с разным набором информации о них.

$ ps -ef
UID   PID    PPID   C  STIME  TTY     TIME      CMD
igor  15291  15278  0  08:01  ?       00:00:00  sshd-session: igor@pts/19
igor  15294  15291  0  08:01  pts/19  00:00:00  -bash
igor  25702  68258  0  14:10  pts/30  00:00:00  ps -ef
igor  68251  68232  0  12:39  ?       00:00:00  sshd-session: igor@pts/30
igor  68258  68251  0  12:39  pts/30  00:00:00  -bash
igor  69821  68258  0  12:40  pts/30  00:00:00  sleep 10000
igor  70197  68258  0  12:40  pts/30  00:00:00  sleep 20000

$ ps aux
USER  PID    %CPU %MEM VSZ    RSS    TTY     STAT START  TIME  COMMAND
igor  15291  0.0  0.0  65160   4528  ?       S    08:01  0:00  sshd-session: igor@pts/19
igor  15294  0.0  0.0  28024  10872  pts/19  Ss+  08:01  0:00  -bash
igor  27346  0.0  0.0  20444   2460  pts/30  R+   14:10  0:00  ps aux
igor  68251  0.0  0.0  65160   4652  ?       R    12:39  0:00  sshd-session: igor@pts/30
igor  68258  0.0  0.0  28040  11012  pts/30  Ss   12:39  0:00  -bash
igor  69821  0.0  0.0   7128    640  pts/30  S    12:40  0:00  sleep 10000
igor  70197  0.0  0.0   7128    692  pts/30  S    12:40  0:00  sleep 20000

Состояния процессов

В списке процессов состояния процессов отображаются одним или несколькими символами, ниже представлена расшифровка этих символов.

Основные символы

  • D - Непрерывный режим ожидания (обычно ввод-вывод);
  • R - Запущен или доступен для выполнения (в очереди запуска);
  • S - Прерываемый режим ожидания (ожидание завершения события);
  • T - Остановлен в заданиях;
  • t - Остановлен отладчиком;
  • Z - Несуществующий ("зомби"), завершенный, но не восстановленный родителем;

Дополнительные символы

  • < - Высокоприоритетный;
  • N - Низкоприоритетный;
  • L - Сохраняет страницы в памяти;
  • s - Руководитель сессии;
  • l - Многопоточный;
  • + - В группе процессов переднего плана;