Android

Команда ps в linux (список процессов)

rytp барбоскины без мата VIDEOMEGA RU

rytp барбоскины без мата VIDEOMEGA RU

Оглавление:

Anonim

В Linux запущенный экземпляр программы называется процессом. Иногда при работе на компьютере с Linux вам может понадобиться выяснить, какие процессы выполняются в данный момент.

Существует ряд команд, которые вы можете использовать для поиска информации о запущенных процессах, наиболее часто используемыми являются ps , pstree и top .

В этой статье объясняется, как использовать команду ps для отображения текущих запущенных процессов и отображения информации об этих процессах.

Как использовать команду ps

Общий синтаксис команды ps следующий:

ps

По историческим причинам и из соображений совместимости команда ps принимает несколько различных типов параметров:

  • Опции стиля UNIX, перед которыми стоит одна черта. Параметры стиля BSD, используемые без длинных опций dash.GNU, перед которыми стоят две черты.

Различные типы опций могут быть смешаны, но в некоторых конкретных случаях могут возникать конфликты, поэтому лучше придерживаться одного типа опций.

Опции BSD и UNIX могут быть сгруппированы.

В простейшей форме, когда используется без какой-либо опции, ps напечатает четыре столбца информации как минимум для двух процессов, запущенных в текущей оболочке, самой оболочки и процессов, которые запускаются в оболочке при вызове команды.

ps

Вывод включает информацию о оболочке ( bash ) и процессе, выполняющемся в этой оболочке ( ps , введенная вами команда):

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

Четыре столбца помечены как PID , TTY , TIME и CMD .

  • PID - идентификатор процесса. Обычно при запуске команды ps наиболее важной информацией, которую ищет пользователь, является PID процесса. Знание PID позволяет убить сбойный процесс. TTY - имя управляющего терминала для процесса. TIME - совокупное время ЦП процесса, показанное в минутах и ​​секундах. CMD - имя команды, которая использовалась для запуска процесса.

Вывод выше не очень полезен, так как он не содержит много информации. Настоящая сила команды ps появляется при запуске с дополнительными опциями.

Команда ps принимает огромное количество опций, которые могут использоваться для отображения определенной группы процессов и различной информации о процессе, но для повседневного использования требуется лишь несколько из них.

ps чаще всего используется со следующей комбинацией опций:

Форма BSD:

ps aux

  • Опция a указывает ps отображать процессы всех пользователей. Только процессы, не связанные с терминалом, и процессы руководителей групп не отображаются. u обозначает ориентированный на пользователя формат, который предоставляет подробную информацию о процессах. Опция x указывает ps перечислять процессы без управляющего терминала. В основном это процессы, которые запускаются во время загрузки и работают в фоновом режиме.

Команда отображает информацию в одиннадцати столбцах с пометкой USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME и CMD .

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

Мы уже объяснили метки PID , TTY , TIME и CMD . Вот объяснение других меток:

  • USER - пользователь, который запускает процесс. %CPU - загрузка процессора процессом. %MEM - процент резидентного установленного размера процесса к физической памяти на машине. VSZ - Размер виртуальной памяти процесса в КиБ. RSS - размер физической памяти, используемой процессом. STAT - Код состояния процесса, такой как Z (зомби), S (спящий) и R (работающий). START - время начала команды.

Опция f говорит ps отображать древовидное представление дочерних процессов:

ps auxf

Команда ps также позволяет вам сортировать вывод. Например, чтобы отсортировать вывод на основе использования памяти, вы должны использовать:

ps aux --sort=-%mem

UNIX форма:

ps -ef

  • Параметр -e указывает ps отображать все процессы. Параметр -f обозначает полный формат списка, который предоставляет подробную информацию о процессах.

Команда отображает информацию в восьми столбцах с STIME UID , PID , PPID , C , STIME , TIME и CMD .

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

Метки, которые еще не объяснены, имеют следующее значение:

  • UID - такой же, как USER , пользователь, который запускает процесс. PPID - идентификатор родительского процесса. C - То же, что %CPU , загрузка процессора процессом. STIME - то же самое, что START , время начала команды.

Чтобы просмотреть только процессы, запущенные от имени определенного пользователя, введите следующую команду, где linuxize - это имя пользователя:

ps -f -U linuxize -u linuxize

Пользовательский формат

Опция o позволяет указать, какие столбцы будут отображаться при запуске команды ps .

Например, чтобы распечатать информацию только о PID и COMMAND , вы должны выполнить одну из следующих команд:

ps -efo pid, comm

ps auxo pid, comm

Использование ps с другими командами

ps может использоваться в сочетании с другими командами через конвейер.

ps -ef | less

Вывод команды ps может быть отфильтрован с помощью grep . Например, чтобы показать только процесс, принадлежащий пользователю root, вы должны запустить:

ps -ef | grep root

Вывод

Команда ps является одной из наиболее часто используемых команд при устранении неполадок в системах Linux. У него много опций, но обычно большинство пользователей используют либо ps aux либо ps -ef для сбора информации о запущенных процессах.

Для получения дополнительной информации о ps введите man ps в свой терминал.

PS терминал