ps
ps (от англ. process status) — консольная команда UNIX-совместимых операционных систем, выдающая отчёт о работающих процессах.
СинтаксисПравить
ps [опции]
- Опции, отбирающие процессы для отчёта:
- -A : все процессы;
- -a : связанные с конкретным терминалом, кроме главных системных процессов сеанса, часто используемая опция;
- -N : отрицание выбора;
- -d : все процессы, кроме главных системных процессов сеанса;
- -e : все процессы;
- T : все процессы на конкретном терминале;
- a : процессы, связанные с текущим терминалом, а так же процессы других пользователей;
- r : информация только о работающих процессах;
- x : процессы, отсоединённые от терминала.
Выводимая информацияПравить
Столбцы :
- UID : идентификатор пользователя;
- PID : идентификатор процесса, в основном используется для уничтожения процесса «kill -9 PID» который завис или занял файл «это часто случается при работе c cd-rom, для обнаружения процесса занявшего файл используется либо команда fuser /mnt/cdrom либо lsof +d /mnt/cdrom, напомню что команда lsof при работе с простым пользователем выдаёт информацию только по его процессам и запускается вот такой командой /usr/sbin/lsof а не просто lsof»;
- PPID : идентификатор родительского процесса «напомню что родителем всех процессов является процесс init с PID равной 1, поэтому его нежелательно уничтожать»;
- C : приоритет процесса, используемый планировщиком задач;
- STIME : время старта процесса;
- TTY : терминал, с которым связан данный процесс;
- TIME : общее время работы процесса;
- CMD : команда, запустившая данный процесс «с некоторыми опциями выводит и каталог откуда процесс был запущен»;
- STAT : состояние, в котором на данный момент находится процесс.
Параметры STATПравить
- R : процесс выполняется в данный момент
- S : процесс ожидает выполнение (спит)
- D : процесс в полной (непрерываемой) спячке, например, ожидает ввода/вывода
- Z : zombie или defunct процесс, то есть процесс у которого нет родителя
- T : процесс остановлен
- W : процесс в свопе
- < : процесс в приоритетном режиме.
- N : процесс в режиме низкого приоритета
- L : real-time процесс, имеются страницы, заблокированные в памяти.
Примеры использованияПравить
# 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 при подозрениях на возможность несанкционированного вмешательства.
СсылкиПравить
- POSIX man: ps (англ.)