Читать — значит думать чужой головой вместо своей собственной (А. Шопенгауэр).

Команда ps в Linux

4 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
5 августа 2019
Команда ps в Linux
В Linux запущенный экземпляр программы называется процессом. Иногда при работе на компьютере с Linux вам может понадобиться узнать, какие процессы запущены в данный момент.

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

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

 

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

ps [OPTIONS]

 

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

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

 

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

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

ps

Вывод включает в себя информацию о shell (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 позволяет убить сбойный процесс.
  • 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 [kthreadd]
...

 

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

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

Чтобы напечатать дерево процессов, добавьте опцию f. Это укажет ps отобразить древовидное представление дочерних процессов.

ps auxf

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

ps aux --sort=-%mem

форма  UNIX:

ps -ef

 

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

 

Команда будет отображать информацию в столбцах 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 [kthreadd]
...

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

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

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

ps -f -U andreyex -u andreyex

 

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

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

ps -efo pid,comm

 

console-bash ps auxo pid,comm

 

## Использование команды ps может использоваться в сочетании с другими командами через трубопровод. Если вы хотите отобразить вывод команды ‘ps’, по одной странице за раз передайте его в команде less:

console-bash ps -ef | less

 

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

console-bash ps -ef | grep root `` `

 

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 598

Если статья понравилась, то поделитесь ей в социальных сетях:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close