1. ps (Процессы)

Понимание процессов Linux

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

Базовое использование команды ps

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

$ ps

PID        TTY     STAT   TIME          CMD
41230    pts/4    Ss        00:00:00     bash
51224    pts/4    R+        00:00:00     ps

Этот вывод показывает несколько ключевых деталей:

  • PID: Уникальный идентификатор процесса.
  • TTY: Управляющий терминал для процесса.
  • STAT: Текущий статус процесса.
  • TIME: Общее время ЦП, использованное процессом.
  • CMD: Команда, запустившая процесс.

Изучение ps с опциями в стиле BSD

Команда ps очень универсальна, имеет множество опций, которые делятся на разные стили синтаксиса (BSD, System V, GNU). Стиль BSD, который не использует дефис для опций, довольно распространен. Популярная комбинация — ps aux:

ps aux

Вот что означают эти опции:

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

Эта команда дает гораздо более богатый вывод с дополнительными столбцами, такими как USER, %CPU, %MEM, VSZ и RSS. Пока мы сосредоточимся на PID, STAT и COMMAND.

Использование команды ps -ef в Linux

Еще один чрезвычайно популярный синтаксис — стиль System V. Вы часто увидите, как системные администраторы используют команду ps -ef. Это мощный способ получить полную картину всего, что запущено в вашей системе.

ps -ef

Команда ps -ef linux предоставляет полный список всех процессов.

  • -e: Выбирает каждый процесс в системе.
  • -f: Отображает список в «полном формате», который включает такие детали, как UID, PPID (идентификатор родительского процесса), C (использование ЦП) и STIME (время запуска).

Многие пользователи предпочитают ps -ef команде ps aux из-за ее четкого, иерархического представления и подробной информации. При устранении неполадок в системе Linux запуск linux ps -ef часто является одним из первых шагов для диагностики проблем. Более простой вариант, ps -e linux, также выведет все процессы, но в менее подробном формате.

Мониторинг в реальном времени с помощью top

В то время как ps дает вам снимок, команда top предоставляет в реальном времени динамическое представление процессов в вашей системе. Это отличный инструмент для определения того, какие процессы потребляют больше всего ЦП или памяти. По умолчанию дисплей обновляется каждые несколько секунд.

top

Войдите, чтобы сохранить ваш прогресс обучения

Вход

Упражнения

Практика — ключ к освоению команд Linux. Следующие практические лабораторные работы помогут закрепить ваше понимание мониторинга и управления процессами:

  1. Управление и мониторинг процессов Linux — Практикуйте основные навыки управления и мониторинга процессов в системе Linux, включая взаимодействие с процессами на переднем/заднем плане, инспекцию с помощью ps, мониторинг с помощью top и завершение с помощью kill.
  2. Команда Linux top: Мониторинг системы в реальном времени — Узнайте, как использовать команду Linux top для мониторинга системы в реальном времени, включая сортировку процессов, настройку интервалов обновления и фильтрацию по пользователю.

Эти лабораторные работы помогут вам применять концепции идентификации и мониторинга процессов в реальных сценариях, повышая вашу уверенность в качестве системного администратора Linux.

Тест

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