ps (от англ. process status) — программа в UNIX, Unix-подобных и других POSIX-совместимых операционных системах, выводящая отчёт о работающих процессах.
Синтаксис
ps [опции]
- Опции, отбирающие процессы для отчёта:
- A : все процессы;
- a : связанные с конкретным терминалом, кроме главных системных процессов сеанса, часто используемая опция;
- N : отрицание выбора;
- d : все процессы, кроме главных системных процессов сеанса;
- e : все процессы;
- p: только перечисленные процессы (следом указывается один или несколько PID);
- f : расширение информации;
- T : все процессы на конкретном терминале;
- a : процессы, связанные с текущим терминалом, а также процессы других пользователей;
- r : информация только о работающих процессах;
- x : процессы, отсоединённые от терминала;
- u : выбор идентификатора(ов) эффективного пользователя;
- U : выбор идентификатора(ов) реального пользователя.
- o : позволяет определить свой формат вывода (после -o добавляем pid,comm,tty)
Выводимая информация
Столбцы:
- UID : идентификатор пользователя;
- PID : идентификатор процесса;
- PPID : идентификатор родительского процесса;
- C : приоритет процесса, используемый планировщиком задач;
- STIME : время старта процесса;
- TTY : терминал, с которым связан данный процесс;
- RSS : размер страниц памяти;
- TIME : процессорное время, занятое этим процессом;
- CMD : команда, запустившая данный процесс «с некоторыми опциями выводит и каталог, откуда процесс был запущен»;
- STAT : состояние, в котором на данный момент находится процесс;
- WCHAN : для спящего процесса, это адрес функции ядра, где он сейчас находится; если процесс выполняется, то "-".
Опция 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 при подозрениях на возможность несанкционированного вмешательства.
Ссылки
Команды Unix |
---|
|
|
---|
Файловые утилиты | |
---|
Текстовые утилиты | |
---|
Shell-утилиты | |
---|
другие утилиты | |
---|
|