Файловая система /proc

Версии команд ps и top, используемые в Linux, считывают информацию о состоянии процессов из каталога /ргос — псевдофайловой системы, в которой ядро помещает большой объем интересной информации о состоянии системы. Несмотря на имя /ргос (и имя базового типа файловой системы — "ргос"), хранящаяся в этом каталоге информация не ограничивается одними лишь процессами — здесь хранится вся информация о состоянии и статистические сведения, генерируемые ядром. Некоторые параметры можно даже изменять, записывая новые значения в соответствующий файл каталога /ргос.

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

Поскольку ядро создает содержимое файлов каталога /ргос на лету (во время их считывания), большинство из них выглядят пустыми при их открытии с помощью команды Is -1. Для просмотра действительного содержимого этих файлов придется прибегнуть к командам cat или more. Но будьте осторожны: некоторые файлы содержат двоичные данные либо ссылаются на двоичные данные, непосредственный просмотр которых может поставить в тупик эмулятор терминала.

Информация, относящаяся к конкретным процессам, распределена по подкаталогам, названным по идентификаторам процессов. Например, каталог /ргос/1 всегда содержит информацию о демоне init. Наиболее полезные файлы с информацией о процессах:

 

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

cmdline8                Полная командная строка процесса (разделенная нулями)

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

environ  Переменные среды процесса (разделенные нулями)

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

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

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

root        Символьная ссылка на корневой каталог процесса (определенный командой chroot)

stat         Информация об общем состоянии процесса (для ее получения лучше всего использовать команду ps)

statm        Информация об использовании памяти  Может быть недоступна, если запись информации о процессе выполняется из памяти.

Отдельные компоненты внутри файлов cmdline и environ разделены символами нуля, а не символами перевода строки. Для того чтобы их содержимое было более читабельным, его можно фильтровать с помощью команды tr "\000" "\n".

В подкаталоге fd открытые файлы представлены символьными ссылками. Дескрипторы файлов, которые связаны с каналами или сетевыми сокетами, не имеют связанных с ними имен файлов. Вместо этого в качестве целевой ссылки ядро предоставляет обобщенное описание.

Файл maps полезен при определении библиотек, с которыми связана или от которых зависит та или иная программа.

В системах Solaris и AIX также используется файловая система на основе каталога /ргос, но она не включает дополнительные данные о состоянии си-^ стемы и статистические сведения, генерируемые ядром (как в Linux). Группа SOLd MS инструментов, именуемая утилитами ргос, отображает некоторую полезную информацию о выполнении процессов. Например, команда procsig в AIX и ее Solaris-эквивалент psig выводят список сигналов для заданного процесса (сигнальные действия и обработчики сигналов). Самые полезные утилиты ргос и их функции:

Команды чтения /ргос-информации в системах AIX и Solaris:

 

pcred  [pid  |  pid] proccred [pid]     Выводит/устанавливает реальный, текущий и сохраненный идентификаторы pldd [-F]   [pid  |  pid]    procldd  [pid]       Отображает библиотеки, связанные с процессом (подобно ldd)

psig  [pid]                          procsig  [pid]       Перечисляет сигнальные действия и обработчики
pfiles   [pid]                       procf iles   [pid]   Выводит открытые файлы

pwdx  [pid]                          procwdx  [pid]       Выводит текущий рабочий каталог
pwait  [pid]           procwait  [pid]     Ожидает завершения процесса    

В системе HP-UX не используется файловая система /ргос или ее эквивалент.

 

Комментарии (0)

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.