ps

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

ps (от англ. process status) — программа в UNIX, Unix-подобных и других POSIX-совместимых операционных системах, выводящая отчёт о работающих процессах.

Синтаксис[править | править исходный текст]

ps [опции]
  • Опции, отбирающие процессы для отчёта:
    • -A : все процессы;
    • -a : связанные с конкретным терминалом, кроме главных системных процессов сеанса, часто используемая опция;
    • -N : отрицание выбора;
    • -d : все процессы, кроме главных системных процессов сеанса;
    • -e : все процессы;
    • -f : расширение информации
    • T : все процессы на конкретном терминале;
    • a : процессы, связанные с текущим терминалом, а также процессы других пользователей;
    • r : информация только о работающих процессах;
    • x : процессы, отсоединённые от терминала.

Выводимая информация[править | править исходный текст]

Столбцы:

  • UID : идентификатор пользователя;
  • PID : идентификатор процесса;
  • PPID : идентификатор родительского процесса;
  • C : приоритет процесса, используемый планировщиком задач;
  • STIME : время старта процесса;
  • TTY : терминал, с которым связан данный процесс;
  • TIME : процессорное время, занятое этим процессом;
  • CMD : команда, запустившая данный процесс «с некоторыми опциями выводит и каталог откуда процесс был запущен»;
  • STAT : состояние, в котором на данный момент находится процесс.

Опция o позволяет указать набор столбцов в ответе:

ps o pid,user,command

Параметры STAT[править | править исходный текст]

  • R : процесс выполняется в данный момент
  • S : процесс ожидает (т.е. спит менее 20 секунд)
  • I : процесс бездействует (т.е. спит больше 20 секунд)
  • D : процесс ожидает ввода-вывода (или другого недолгого события), непрерываемый
  • Z : zombie или defunct процесс, то есть завершившийся процесс, код возврата которого пока не считан родителем
  • T : процесс остановлен
  • W : процесс в свопе
  • < : процесс в приоритетном режиме.
  • N : процесс в режиме низкого приоритета
  • L : real-time процесс, имеются страницы, заблокированные в памяти.
  • s : лидер сессии

Примеры использования[править | править исходный текст]

# ps
PID  TTY      TIME     CMD
2643 pts/0    00:00:00 su
2644 pts/0    00:00:00 bash
3092 pts/0    00:00:00 ps
# ps ax
PID TTY      STAT   TIME COMMAND
1   ?        S      0:01 init [3]
2   ?        SN     0:00 [ksoftirqd/0]
3   ?        S<     0:00 [events/0]
4   ?        S<     0:00 [khelper]
5   ?        S<     0:00 [kblockd/0]
29  ?        S      0:00 [pdflush]
# ps af
PID  TTY      STAT   TIME COMMAND
2617 pts/0    Ss     0:00 -bash
2643 pts/0    S      0:00  \_ su -
2644 pts/0    S      0:00      \_ -bash
3100 pts/0    R+     0:00          \_ ps af
2176 tty6     Ss+    0:00 /sbin/mingetty tty6
2175 tty5     Ss+    0:00 /sbin/mingetty tty5

Примечания[править | править исходный текст]

  • Альтернативой ps является команда top, удобно выводящая на экран постоянно обновляющуюся информацию, однако top ограничена размерами окна, поэтому всё, что не может поместиться на экран, просто игнорируется.
  • Для команды ps удобно пользоваться конвейером и утилитой less для пролистывания выводимой информации с помощью кнопок вверх и вниз, например ps ax | less
  • С помощью утилиты grep удобно искать и выводить только нужные процессы, например ps ax | grep smbd
  • В связи с возможностью написания модуля, подгружаемого к ядру, и возвращающего на запрос от ps модифицированный список процессов, администраторам не рекомендуется всецело полагаться на результаты ps и top при подозрениях на возможность несанкционированного вмешательства.

Ссылки[править | править исходный текст]