Welcome to Энциклопедия сетевых протоколов
Поиск

Модули
· Титульная страница
· Мир протоколов
· Основные темы
· Архив публикаций
· Поиск
· Каталог ссылок
· Участники
· Документы и программы

Выбор языка
Язык интерфейса:


Статистика
20490545
запросов с 22 сентября 2005

Внешняя статистика
Rambler's Top100

  
Обзоры: Виртуальная файловая система /proc - каталоги процессов
Опубликовано 29 сент. 2005 (Чт.) в 11:15:52
Тема: Настройка сетевых параметров хостов

В ОС Linux виртуальная файловая система /proc содержит файлы с текущей информацией о процессах и системе в целом. Файловая система создается в оперативной памяти компьютера в процессе загрузки и используется в качестве интерфейса обмена данными со структурами ядра. Использование файлов /proc/* в большинстве случаев позволяет избавиться от необходимости чтения и записи в устройство /dev/kmem. Большинство расположенных в структуре /proc файлов доступны пользователям только для чтения, а для записи требуют полномочий root.

Для поддержки виртуальной файловой системы /proc при компиляции ядра должна быть включена опция /proc file system support.




Файловая система /proc содержит множество каталогов с численными именами – эти каталоги создаются для каждого запущенного в системе процесса. Имя каталога определяется идентификатором (PID) соответствующего процесса. Каждый из таких каталогов содержит ряд подкаталогов файлов, кратко описанных ниже (таблица 2).

Таблица 2 Файлы в подкаталогах процессов

Имя

Назначение

auxv

Начальные значения aux-вектора процесса, передаваемые операционной системой динамическому компоновщику в качестве стартовых значений.

cmdline

Содержимое командной строки, использованной для запуска процесса. Командная строка в файле завершается нуль-символом и не содержит символа новой строки.

cwd

Ссылка на текущий рабочий каталог процесса. Для определения рабочего каталога процесса можно воспользоваться командой типа

cd /proc//cwd; /bin/pwd

environ

Переменные окружения, используемые процессом. Записи в этом файле разделяются нуль-символами, а в конце файла также может использоваться нуль-символ. Для просмотра переменных окружения процесса можно воспользоваться командой типа

(cat /proc//environ; echo) | tr "00" "n"

exe

Символьная ссылка на исполняемый файл процесса. Использование команды readlink с именем этого файла в качестве параметра возвращает полное имя исполняемого процесса в системах Linux с ядром версии 2.2 и выше. В Linux 2.0 и более старых версиях возвращается строка вида

[устройство]:индексный_дескриптор

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

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

/proc//exe

приведет к запуску новой копии процесса.

Для поиска файла может использоваться команда

find -inum

fd

Подкаталог, содержащий по одной символьной ссылке для каждого открытого процессом файла. Имя ссылки соответствует номеру файлового дескриптора для открытого файла, а сама ссылка указывает на открытый процессом файл.

0 указывает на стандартное устройство ввода, 1 – на стандартное устройство вывода, 2 – на стандартный вывод ошибок и т. д.

Символьные ссылки в подкаталоге fd позволяют обманывать программы, которые в качестве входного файла не принимают stdin или в качестве выходного – stdout. В командной строке такой программы можно просто указывать /proc/self/fd/0 в качестве входного файла и в качестве выходного /proc/self/fd/1. Отметим, что предложенная хитрость не сработает для программ, использующих при файловых операциях команду seek, поскольку такие операции не поддерживаются для файлов стандартного ввода-вывода.

Файлы /proc/self/fd/N в Linux – это почти то же самое, что и файлы /dev/fd/N. Фактически, большинство сценариев MAKEDEV в Linux делает символьные ссылки /dev/fd на /proc/self/fd.

maps

Файл отображения используемых программой областей памяти с указанием прав доступа. Этот файл использует формат:

address perms offset dev inode

00000000-0002f000 r-x-- 00000400 03:03 1401

0002f000-00032000 rwx-p 0002f400 03:03 1401

00032000-0005b000 rwx-p 00000000 00:00 0

60000000-60098000 rwx-p 00000400 03:03 215

60098000-600c7000 rwx-p 00000000 00:00 0

bfffa000-c0000000 rwx-p 00000000 00:00 0

Колонка address указывает используемое процессом адресное пространство памяти, perms – задает права доступа к данной области памяти (r – чтение, w – запись, x – исполнение, s – возможность использования другими процессами, p – приватный блок, копируемый при записи). Колонка offset задает текущее смещение от начала области памяти (указатель позиции), dev задает устройство, а inode указывает индексный дескриптор.

Ядро Linux версии 2.2 использует дополнительное поле, в котором указывается (при возможности) полное имя файла.

mem

Файл соответствующий содержимому страниц памяти процесса и обеспечивающий доступ к памяти с помощью функций open, read и fseek.

mounts

Список смонтированных в файловых систем. Содержимое этого файла выводится по команде mount.

root

Символьная ссылка на корневой каталог, используемый данным процессом.

stat

Файл с информацией о состоянии процесса. Эти файлы используются командой ps для сбора информации о процессах. Поля файла stat описаны ниже (таблица 3) в порядке их следования в файле.

statm

Файл с информацией об используемых процессом страницах памяти. Поля файла перечислены ниже:

size общий размер программы
resident размер резидентной части
share
trs текст (код)
drs данные/стек
lrs
dt число “грязных” страниц

status

Файл с информацией из stat и statm в более удобном для человеческого восприятия формате.

wchan

Имя функции ядра, в которой процесс в данный момент “спит”.



 
Вход
Регистрационное имя

Пароль

[Восстановить пароль]

Если у Вас еще нет учетной записи, Вы можете зарегистрироваться.


Связанные ссылки
· Поиск в разделе Настройка сетевых параметров хостов
· Статьи пользователя Николай Малых


Самая популярная статья раздела Настройка сетевых параметров хостов:
Параметры SysCtl для стека IP


Оценка статьи
Средняя оценка: 5
голос.: 1


Оцените эту публикацию:

Отлично
Очень хорошо
Хорошо
Приемлемо
Плохо


Параметры

 Вариант для печати Вариант для печати


"Вход" | Вход/регистрация | 0 коммент.
Комментарии выражают мнение их авторов. Администрация сайта не несет никакой ответственности за достоверность представленных в комментариях посетителей сведений, а также за содержание таких комментариев.

Для публикации своих комментариев Вам нужно зарегистрироваться..
Copyright © Nikolai Malykh
Все права на опубликованные на сайте материалы принадлежат Nikolai Malykh, если в опубликованном на сайте документе явно не указано иное.
Не разрешается воспроизведение опубликованных на сайте документов без согласия правообладателя.

Hosted By Web Hosting by iPage

Copyright © 2005 by Nikolai Malykh
Based on PHP-Nuke by Francisco Burzi. This is free software, and you may redistribute it under the GPL. Author comes with absolutely no warranty.
Время генерации страницы: 0.08 сек.