Процесс — работающий экземпляр программы вместе с его памятью, учётными данными, открытыми ресурсами и состоянием выполнения. Linux обозначает каждый живой процесс числовым идентификатором процесса, или PID. PID уникален среди процессов, существующих одновременно, но после завершения процесса ядро может использовать его повторно.
Процессы · Урок 1
ps (процессы)
Узнайте, как делать снимки процессов через ps и отслеживать меняющуюся активность с помощью top.
Создание простого снимка
Запустите 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 машины, учётом памяти и рабочей нагрузкой.
Какой представленный здесь инструмент по умолчанию периодически обновляет список процессов?
Для практики используйте лабораторию Управление и мониторинг процессов Linux, чтобы сравнить снимки с интерактивным монитором, или изучите сортировку и фильтрацию в лаборатории Команда top в Linux.
Урок завершён
Вы завершили ps (процессы)
Теперь вы можете выбрать представление процессов и интерпретировать его основные идентификаторы.
Рассматривайте PID как повторно используемый идентификатор текущего живого процесса.
Используйте простой
psдля небольшого стандартного снимка.Используйте
ps auxилиps -efдля более широкого выбора и подробных столбцов.Используйте
top, когда важны изменения во времени.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт