Команда Linux ps — 20 примеров из реальной жизни
Команда ps
, сокращение от Process Status, представляет собой утилиту командной строки, которая используется для отображения или просмотра информации, относящейся к процессам, запущенным в системе Linux. Как мы все знаем, Linux — это многозадачная и многопроцессорная система. Таким образом, несколько процессов могут работать одновременно, не влияя друг на друга. Команда ps выводит список текущих запущенных процессов вместе с их PID и другими атрибутами. В этом руководстве мы сосредоточимся на использовании команды ps. Он извлекает информацию о процессах из виртуальных файлов, расположенных в файловой системе /proc.
команда ps без аргументов
Команда ps без аргументов выводит список запущенных процессов в текущей оболочке.
ps
Просмотр всех запущенных процессов в разных форматах
Просмотр процессов, связанных с терминалом
Просмотр процессов, не связанных с терминалом
Показать все текущие запущенные процессы
Чтобы просмотреть все текущие процессы, выполните
ps -ax
Показать все процессы в формате BSD
Если вы хотите отображать процессы в формате BSD, выполните
ps au
ИЛИ
ps aux
Для выполнения полноформатного листинга
Чтобы просмотреть список в полном формате, запустите
ps -ef
ИЛИ
ps -eF
Фильтрация процессов по пользователю
Если вы хотите перечислить процессы, связанные с конкретным пользователем, используйте флаг -u
, как показано ниже.
ps -u user
Например
ps -u jamie
Фильтровать процесс по потоку
Если вы хотите узнать поток определенного процесса, используйте флаг -L
, за которым следует PID. Например
ps -L 4264
Показать каждый процесс, работающий от имени root
Иногда вам может понадобиться показать все процессы, запущенные пользователем root. Для достижения этого пробега
ps -U root -u root
Показать групповые процессы
Если вы хотите перечислить все процессы, связанные с определенной группой, запустите
ps -fG group_name
Или
ps -fG groupID
Например
ps -fG root
PID процесса поиска
Скорее всего, обычно не знают PID процесса. Вы можете искать PID процесса, запустив
ps -C process_name
Например
ps -C bash
Список процессов по PID
Вы можете отображать процессы по их PID, как показано
ps -fp PID
Например
ps -fp 1294
Чтобы отобразить иерархию процессов на древовидной диаграмме
Обычно большинство процессов разветвляются из родительских процессов. Знакомство с отношениями между родителями и детьми может оказаться полезным. Команда ниже ищет процессы с именем apache2.
ps -f --forest -C bash
Отображение дочерних процессов родительского процесса
Например, если вы хотите отобразить все разветвленные процессы, принадлежащие apache, выполните
ps -o pid,uname,comm -C bash
ps --ppid PID no.
Например
ps --ppid 1294
Отображать потоки процессов
Команду ps можно использовать для просмотра потоков вместе с процессами. Приведенная ниже команда отображает все потоки, принадлежащие процессу с PID pid_no.
ps -p pid_no -L
Например
ps -p 1294 -L
Показать выбранный список столбцов
Вы можете использовать команду ps для отображения только тех столбцов, которые вам нужны. Например ,
ps -e -o pid,uname,pcpu,pmem,comm
Переименование меток столбцов
Чтобы переименовать метки столбцов, выполните команду ниже
ps -e -o pid=PID,uname=USERNAME,pcpu=CPU_USAGE,pmem=%MEM,comm=COMMAND
Отображать прошедшее время процессов
Прошедшее время указывает, как долго процесс выполнялся в течение
ps -e -o pid,comm,etime
Использование команды ps с grep
команду ps можно использовать с командой grep для поиска определенного процесса, например
ps -ef | grep systemd