Где хранится информация о запущенных процессах в Linux?

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

Ответ

Основное хранилище информации о процессах — виртуальная файловая система /proc. Каждый процесс имеет свою директорию /proc/[PID], где [PID] — идентификатор процесса.

Ключевые файлы в /proc/[PID]/:

  • status — основная информация (состояние, PID, PPID, UID, память)
  • cmdline — полная командная строка запуска процесса
  • exe — симлинк на исполняемый файл
  • cwd — симлинк на рабочую директорию
  • environ — переменные окружения процесса
  • fd/ — директория с открытыми файловыми дескрипторами

Практические примеры для мониторинга:

# Просмотреть информацию о процессе с PID 1234
cat /proc/1234/status

# Узнать, какой исполняемый файл запустил процесс
ls -la /proc/1234/exe

# Посмотреть открытые файлы процесса
ls -la /proc/1234/fd/

Инструменты для работы с процессами:

  • ps aux или ps -ef — статичный список процессов
  • top или htop — интерактивный мониторинг
  • pidof [имя_процесса] — найти PID по имени

Для DevOps: В скриптах автоматизации часто используется /proc для проверки состояния процессов, определения потребления ресурсов или graceful shutdown приложений.