Ps
Материал из Википедии — свободной энциклопедии
- Правильный заголовок этой статьи — ps. Он показан некорректно из-за технических ограничений.
Команда ps (от англ. process status) юникс-совместимых операционных систем выдаёт отчёт о работающих процессах.
Содержание |
[править] Синтаксис команды
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 процесс, имеются страницы заблокированные в памяти.
[править] Примеры использования
[root@Faye /]# 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
[root@Faye /]# 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]
[root@Faye /]# 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 совместно с программой grep “поиск init”
[root@Faye /]# ps af |grep init 3130 pts/0 R+ 0:00 \_ grep init
[править] Примечания
- Заменить команду ps можно командой top, которая более совершенна и выводит постоянно обновляющуюся информацию, однако команда top ограничена размерами окна, поэтому всё, что не может поместиться на экран, просто игнорируется.
- Для команды ps удобно пользоваться контейнером и программной less для пролистывания выводимой информации, таким образом можно пролистывать страницы с помощью кнопок вверх и вниз. Пример: ps ax | less
- Так же удобно пользоваться контейнером и программой grep, таким образом можно искать и выводить только нужные процессы. Пример: ps ax | grep smbd
- Так как утилита ps пытается вывести все запущенные в данный момент в системе процессы, она обращается к ядру с некоторым системным запросом. Анализируя ответ ядра, она составляет список и выводит его на экран. В связи с этим возможно написание Loadable Kernel Module (LKM) – модуля, подгружаемого к ядру, поэтому администраторам не рекомендуется всецело доверять программе ps и top (они обе пользуются системными запросами) и при любом подозрении перепроверять возможность несанкционированного вмешательства.
[править] Ссылки
- POSIX man: PS(1)(англ.)
UNIXTM-команды, запускаемые в режиме командной строки (другие) | |||
Файлы: | cat | chdir/cd | chmod | chown | chgrp | cp | du | df | file | fsck | ln | ls | lsof | mkdir | more | mount | mv | pwd | rcp | rm | rmdir | split | touch | tree | ||
Тексты: | awk | cut | diff | ex | head | iconv | join | less | more | nkf | paste | sed | sort | tail | tr | uniq | wc | xargs | ||
Процессы: | anacron | at | chroot | cron/crontab | kill | nice/renice | ps | sleep | screen | time | timex | top | wait | ||
Пользователи: | env | finger | id | locale | mesg | passwd | su | sudo | uname | uptime | w | wall | who | write | ||
Командная строка: | echo | expr | unset | Печать: | lp |
Сеть: inetd | netstat | ping | ssh | traceroute |
Поиск: find | grep | strings |
Разное: banner | bc | cal | man | yes |