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

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

Ответ

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

1. ps — статический срез процессов

Команда ps (process status) показывает статичный снимок процессов на момент вызова. Самый распространенный вариант — ps aux.

  • a — показать процессы всех пользователей.
  • u — показать подробную информацию (пользователь, %CPU, %MEM).
  • x — показать процессы, не привязанные к терминалу (демоны).
ps aux | head -n 10 # Показать первые 10 строк вывода

2. top и htop — интерактивный мониторинг

Эти утилиты предоставляют интерактивный интерфейс, обновляемый в реальном времени. htop — это улучшенная версия top с цветным выводом, древовидным режимом и удобным управлением.

# Запустить интерактивный монитор (рекомендуется)
htop

3. pstree — иерархия процессов

Отображает процессы в виде дерева, что наглядно показывает их родительские связи. Полезно для отслеживания, какой процесс породил какой.

pstree

4. Программно в Python

Библиотека psutil — это мощный кросс-платформенный инструмент для получения системной информации, включая список процессов.

import psutil

# Итерация по всем процессам и получение их PID, имени и пользователя
for proc in psutil.process_iter(['pid', 'name', 'username']):
    print(proc.info)