ps (процессы)
100%

Процессы · Урок 1

ps (процессы)

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

Процесс — работающий экземпляр программы вместе с его памятью, учётными данными, открытыми ресурсами и состоянием выполнения. Linux обозначает каждый живой процесс числовым идентификатором процесса, или PID. PID уникален среди процессов, существующих одновременно, но после завершения процесса ядро может использовать его повторно.

Создание простого снимка

Запустите ps без параметров, чтобы увидеть снимок, выбранный стандартными правилами реализации: обычно это процессы, связанные с текущими терминалом и пользователем:

$ ps
    PID TTY          TIME CMD
  41230 pts/4    00:00:00 bash
  51224 pts/4    00:00:00 ps

Типичные поля:

  • PID: идентификатор процесса
  • TTY: управляющий терминал или ?, если он не связан
  • TIME: накопленное время CPU, а не прошедшее календарное время
  • CMD: имя команды или командная строка в зависимости от выбранного формата

Точные столбцы и правила выбора по умолчанию различаются между реализациями ps и средами.

Что обозначает столбец PID?

Перечисление процессов параметрами в стиле BSD

ps в Linux принимает несколько стилей параметров. Параметры в стиле BSD обычно записываются без начального дефиса:

$ ps aux

В этом сочетании:

  • a расширяет выбор процессами других пользователей, имеющими терминалы.
  • x также включает процессы без управляющих терминалов и в сочетании с a дополнительно расширяет выбор.
  • u выбирает ориентированный на пользователя формат вывода с полями вроде USER, %CPU, %MEM, VSZ и RSS.

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

Какой параметр в ps aux запрашивает ориентированный на пользователя формат вывода?

Использование параметров стандартного стиля

Распространённая команда стандартного стиля ps -ef записывает параметры с начальным дефисом:

$ ps -ef
  • -e выбирает каждый процесс, видимый вызывающей стороне.
  • -f запрашивает полный формат списка.

Вывод обычно включает UID, PID, PPID, время запуска и сведения о команде. PPID — идентификатор родительского процесса. Этот список сам по себе не является иерархическим; когда важна структура родителей и потомков, используйте поддерживаемый параметр вроде --forest или отдельное средство просмотра pstree.

Что запрашивает -e в ps -ef?

Мониторинг активности во времени

ps завершается после создания одного снимка. Для интерактивного представления с периодическим обновлением используйте top:

$ top

top помогает находить меняющихся потребителей CPU и памяти, но его значения являются образцами и могут колебаться. Подтвердите предполагаемую проблему несколькими наблюдениями и соотнесите проценты с числом CPU машины, учётом памяти и рабочей нагрузкой.

Какой представленный здесь инструмент по умолчанию периодически обновляет список процессов?

Урок завершён

Вы завершили ps (процессы)

Теперь вы можете выбрать представление процессов и интерпретировать его основные идентификаторы.

  • Рассматривайте PID как повторно используемый идентификатор текущего живого процесса.

  • Используйте простой ps для небольшого стандартного снимка.

  • Используйте ps aux или ps -ef для более широкого выбора и подробных столбцов.

  • Используйте top, когда важны изменения во времени.

Сохраните прогресс

Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.

Создать бесплатный аккаунт
Следующий Урок
Назад к Процессы