В Linux основным принципом является то, что все рассматривается как файл. Эта концепция распространяется и на запущенные процессы, информация о которых динамически хранится в специальной виртуальной файловой системе, известной как /proc.
Исследование каталога /proc
Файловая система /proc — это не реальная файловая система на вашем жестком диске; она создается в памяти ядром. Она предоставляет окно во внутренние структуры данных ядра и состояние системы.
Чтобы увидеть ее содержимое, вы можете вывести список файлов и каталогов внутри нее:
ls /proc
Вы увидите множество пронумерованных каталогов. Каждый номер соответствует идентификатору процесса (PID) в данный момент запущенного процесса. Вы также найдете другие файлы, такие как cpuinfo и meminfo, которые предоставляют информацию об оборудовании системы.
Доступ к информации о конкретном процессе
Если вы определяете PID с помощью такой команды, как ps, вы можете найти соответствующий каталог в /proc, чтобы получить более подробную информацию. Например, чтобы проверить процесс с PID 12345, вы можете посмотреть содержимое его файла состояния:
cat /proc/12345/status
Эта команда отобразит подробную информацию о процессе, включая его состояние (например, спящий, запущенный), использование памяти и идентификатор пользователя. Каталог /proc предлагает прямой взгляд ядра на процесс, предоставляя гораздо больше данных, чем стандартные инструменты.
Панель данных системы
Считайте файловую систему /proc исходным источником данных для многих инструментов мониторинга системы. Утилиты, такие как top, ps и htop, считывают данные из /proc, чтобы представить информацию в удобном для пользователя формате. Она содержит массу дополнительных сведений, которые эти инструменты могут не показывать по умолчанию.
Получая прямой доступ к файлам внутри /proc, вы можете собирать конкретные метрики для создания пользовательских скриптов или панели мониторинга, адаптированной к вашим потребностям. Это мощный интерфейс для наблюдения и понимания внутренней работы вашей системы Linux.