Найти в Дзене

Linux. Каталог /proc.

Команды и утилиты, которые позволяют следить за процессами в системе, такие как ps, top и т.д. считывают информацию из каталога /proc. Этот каталог является псевдофайловой системой, в которую ядро записывает очень много интересной информации о процессах и не только.

Хотя большую часть информации проще получить с помощью команд, таких как ps или vmstat, все же иногда придется заглядывать в /proc для считывания данных. Следовательно нам надо с ним познакомиться. С рядом полезных советов и приемов можно ознакомиться с помощью команды man proc.

Итак, давайте заглянем внутрь этого каталога. Каталог /proc содержит файлы и подкаталоги. Ядро создает содержимое этих файлов и каталогов на лету, поэтому при просмотре с помощью команды ls -l, они могут показаться пустыми. Для просмотра файлов в этом каталоге пользоваться желательно командами cat и less. Но будьте аккуратны, некоторые файлы содержат двоичный код, который может ввести в ступор терминал.

Как говорилось выше, кталог /proc состоит из подкаталогов. Обратите внимание на их названия. Они соответствуют идентификатору процесса в выводе команды ps или top. Например, каталог /proc/1 всегда содержит информацию об init. Следующие файлы с информацией о процессах будут полезны:

cgroup - группа управления, которой принадлежит процесс. С помощью этого механизма происходит ограничение ресурсов, приоритет, изолирование, приостановка процессов и т.д.

cmd - Команда или программа, выполняемая процессом.

cmdline - Полная командная строка, с помощью которой был запущен процесс.

cwd - Символическая ссылка на текущий каталог процесса.

environ - Переменные среды, используемые процессом. Бывает полезно посмотреть, была ли установлена переменная окружения перед запуском программы.

exe - Символическая ссылка на исполняемый файл, который должен выполняться.

fd - Подкаталог, содержащий ссылки на дескрипторы каждого открытого файла.

fdinfo - Подкаталог, содержащий дополнительную информацию о дескрипторах каждого открытого файла.

maps - Информация отображения файла (сегменты совместного использования, библиотеки и т.п.). Полезен при определении библиотек, с которыми связана или от которых зависит та или иная программа.

ns - Подкаталог, содержащий ссылку на пространство имен каждого открытого файла.

root - символическая ссылка на корневой каталог процесса.

stat - Информация об общем состоянии процесса.

statm - Информация об использовании памяти.

Пожалуй, для этой статьи, достаточно информации к размышлению. Советую потратить немного времени и поизучать этот псевдокаталог, благодаря ему вы сможете довольно тонко настроить свою систему, а так же получать информацию о системе с помощью обычной команды cat. Еще более подробнее коснемся этой темы в будущем, пока только основы, поэтому подписывайтесь, чтобы не пропустить. Если возникнут вопросы, спрашивайте в комментариях, постараюсь помочь.