Гид по технологиям

Proc в Linux — как читать /proc

4 min read Linux Обновлено 14 Apr 2026
Proc в Linux — как читать /proc
Proc в Linux — как читать /proc

Стеллаж с виниловыми пластинками как метафора файловой системы

Если вы посмотрите на файловую систему Linux, вы, вероятно, заметите каталог /proc с множеством числовых папок и других файлов внутри. Что делает этот каталог? На самом деле он содержит много полезной информации о вашей системе Linux и запущенных процессах.

Что такое файловая система proc

Файловая система proc (procfs) — это идея, заимствованная из исследовательской системы Plan 9 из Bell Labs, наследника оригинального Unix. Она реализует принцип «всё — файл» и представляет каждую запущенную задачу в системе как иерархию файлов, которые можно просматривать стандартными инструментами.

Список файлов в /proc на Linux

Основная полезная информация для анализа системы часто содержится в отдельных файлах внутри /proc. Например, файл cpuinfo показывает данные о процессоре. Чтобы просмотреть его, выполните:

cat /proc/cpuinfo

Если у вас много физических или логических ядер, вывода может быть много — в таком случае удобнее использовать постраничный просмотрщик, например less или most.

Другие полезные файлы в /proc:

  • /proc/meminfo — состояние оперативной памяти.
  • /proc/mounts — смонтированные файловые системы.
  • /proc/uptime — время работы системы.

Все эти файлы можно анализировать стандартными инструментами обработки текста в Linux (grep, awk, sed и т. п.).

Информация о процессах через procfs

В procfs каждая запущенная задача имеет свою папку, имя которой равно ее PID (идентификатор процесса). Например, процесс с PID 1 (init или systemd) имеет каталог /proc/1.

Файл состояния процесса в /proc

Чтобы найти PID интересующего процесса, используйте ps, top, htop или pgrep. Затем перейдите в соответствующий каталог в /proc.

Внутри каталога процесса вы найдёте файлы и ссылки с разной информацией:

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

Пример чтения cmdline или status:

cat /proc/1234/cmdline
cat /proc/1234/status
ls -l /proc/1234/fd

Пошаговый метод исследования процесса

  1. Найдите PID: ps aux | grep <имя> или pgrep -a <имя>.
  2. Откройте /proc//status для общей информации.
  3. Просмотрите /proc//cmdline и /proc//environ для аргументов и переменных.
  4. Проверьте /proc//exe, чтобы узнать реальное исполняемое.
  5. Загляните в /proc//fd, чтобы увидеть открытые файлы и сокеты.
  6. При необходимости используйте lsof или strace для глубокого анализа.

Важно: доступ к файлам процесса может быть ограничен правами. Для чтения данных чужих процессов часто требуется root.

Быстрая шпаргалка команд

# Общая информация о CPU
cat /proc/cpuinfo

# Информация о памяти
cat /proc/meminfo

# Список смонтированных систем
cat /proc/mounts

# Информация о конкретном процессе
ps aux | grep nginx
cat /proc//status
ls -l /proc//fd
readlink -f /proc//exe

Когда procfs даёт не ту картину: ограничения и исключения

  • procfs отражает состояние ядра и процессов в момент чтения; данные могут меняться мгновенно.
  • В контейнерах (Docker, LXC) /proc может быть частично изолирован или псевдо-замаскирован, поэтому некоторые PID и данные будут относиться к пространству имён контейнера.
  • Некоторые поля (например, счётчики производительности) агрегированы или доступны только с правами root.
  • procfs не хранит длительную историю; для анализа трендов нужны внешние инструменты (логирование, мониторинг).

Альтернативные и смежные источники информации

  • /sys (sysfs) — иерархия, отражающая устройства и их свойства; полезно для аппаратных деталей.
  • lsof — список открытых файлов и сокетов систем-wide.
  • ss / netstat — информация о сетевых соединениях.
  • strace — трассировка системных вызовов для конкретного процесса.
  • tools: top, htop — интерактивный обзор процессов.

Практические шаблоны для ролей

Для системного администратора:

  • Проверить загрузку CPU: cat /proc/stat и посмотреть процессы в top.
  • Найти «утечку» файлов: ls -l /proc//fd и lsof -p .

Для разработчика:

  • Убедиться в аргументах запуска: cat /proc//cmdline.
  • Проверить переменные окружения: tr ‘\0’ ‘\n’ < /proc//environ.

Для инженера по безопасности:

  • Сканировать неожиданные сетевые сокеты: ls -l /proc//fd | grep socket.
  • Проверить владельца и путь исполняемого файла: readlink -f /proc//exe и /proc//status.

Быстрый факт

  • procfs не хранит реальные файлы на диске; это виртуальная (in-memory) интерфейсная файловая система, создаваемая ядром при загрузке.

Краткий словарь (одна строка)

  • procfs: виртуальная файловая система, представляющая информацию ядра и процессов.
  • PID: идентификатор процесса.
  • /proc/[PID]/fd: дескрипторы файлов процесса.

Примечания по безопасности и приватности

Не публикуйте содержимое /proc//environ или /proc//cmdline публично — там могут содержаться секреты (ключи, пароли, токены). Если вы делитесь выводом, фильтруйте чувствительные значения.

Итог

/Proc — удобный и быстрый способ «заглянуть» внутрь ядра и процессов. Для повседневных задач администрирования и отладки достаточно чтения нескольких файлов в /proc и базовых команд. Для глубокого анализа комбинируйте данные из /proc с инструментами мониторинга и трассировки.

Сводка:

  • /proc предоставляет доступ к состоянию ядра и процессов через файлы.
  • Каждая запущенная программа имеет каталог /proc/ с метриками и ссылками.
  • Для безопасности фильтруйте чувствительную информацию перед публикацией.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Wayland — что это и как попробовать
Linux

Wayland — что это и как попробовать

Слайдшоу с Mac на Apple TV — быстрый гайд
Руководство

Слайдшоу с Mac на Apple TV — быстрый гайд

Как уменьшить объём WhatsApp на смартфоне
Мобильные

Как уменьшить объём WhatsApp на смартфоне

Сидячая жизнь и здоровье: риски и простые шаги
Здоровье

Сидячая жизнь и здоровье: риски и простые шаги

Guided Access на iPad — настройка и советы
Руководства

Guided Access на iPad — настройка и советы

Как включить Aria в Opera GX
Браузеры

Как включить Aria в Opera GX