Как посмотреть список всех процессов в Linux?

«Как посмотреть список всех процессов в Linux?» — вопрос из категории Linux, который задают на 24% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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

1. ps (Process Status) — для моментального снимка.

  • Показать все процессы системы:
    ps aux

    aux — ключевая комбинация флагов для вывода максимально полной информации о всех процессах от всех пользователей.

  • Показать процессы в формате дерева (с родительско-дочерними связями):
    ps auxf
  • Отфильтровать процессы по имени (например, nginx):
    ps aux | grep nginx

2. top / htop — для интерактивного мониторинга в реальном времени.

  • top — стандартный интерактивный монитор. Показывает динамику загрузки CPU, памяти, список процессов, который можно сортировать.
  • htop — улучшенная, более удобная версия top (часто требует установки). Поддерживает цветной вывод, вертикальную и горизонтальную прокрутку, управление мышью.

3. pstree — для визуализации иерархии процессов.

pstree -p

Показывает дерево процессов с указанием PID. Очень наглядно демонстрирует, какие процессы были порождены каким родительским процессом (например, воркеры веб-сервера).

DevOps-контекст:

  • При расследовании инцидентов высокой загрузки CPU или памяти первым делом запускаю top или htop, чтобы идентифицировать проблемный процесс.
  • Команда ps aux --sort=-%cpu | head -10 быстро покажет топ-10 процессов по потреблению CPU, что полезно для скриптов автоматического сбора диагностики.
  • Понимание дерева процессов (pstree) помогает при отладке проблем с демонами, которые не могут породить дочерние процессы, или при "зомби"-процессах.