Ps
Материал из VAAL-WIKI
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 при подозрениях на возможность несанкционированного вмешательства.