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

Команда Linux Ps

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

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

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

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

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

 ps [ OPTIONS ]

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

  • Параметры в стиле UNIX, которым предшествует один тире.
  • Параметры стиля BSD, используемые без тире.
  • Длинные параметры 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 [kthreadd] ...

Мы уже объяснили назначение меток 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 обозначает полноформатный листинг, содержащий подробную информацию о процессах.

Команда отображает информацию в восьми столбцах, обозначенных как 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 , время начала выполнения команды.

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

 ps -f -U linuxize -u linuxize

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

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

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

 ps -efo pid,comm
 ps auxo pid,comm

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

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

Если вы хотите отобразить вывод команды ps , передавайте его по одной странице за раз команде less :

 ps -ef | less

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

 ps -ef | grep root

Заключение

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

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

Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.

ps- терминал

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *