proc - псевдофайловая система с информацией о процессах
НАЗВАНИЕproc - псевдофайловая система с информацией о процессах
ОПИСАНИЕ
/proc - это псевдофайловая система, представляющая собой
интерфейс структур данных ядра, более простой по своей
сути, чем процесс чтения и интерпретации /dev/kmem.
Многие из этих "файлов" доступны только для чтения, но
некоторые файлы позволяют изменять значения некоторых
переменных ядра.
Ниже приведено краткое описание псевдофайловой системы
/proc.
[номер]
Для каждого процесса существует каталог, имя
которого равно номеру процесса. Каждый из них
содержит следующие файлы и каталоги:
cmdline
Этот файл содержит полную командную строку
запуска процесса до тех пор, пока процесс не
будет "выгружен" или не станет "зомби". В
последних двух случаях любое чтение
информации из этого файла вернет 0 байтов
информации. Содержимое файла оканчивается
нулем, но не символом новой строки.
cwd Это символьная ссылка на текущий рабочий
каталог процесса. Например, для того, чтобы
узнать рабочий каталог процесса под номером
20, Вы можете ввести следующее:
cd /proc/20/cwd; /bin/pwd
Заметьте, что команда pwd часто бывает
встроена в shell и может работать
неправильно. В bash можно использовать pwd
-P.
environ
Этот файл содержит окружение процесса.
Записи отделяются друг от друга символами с
кодом 0; 0 может также стоять в конце
окружения. Таким образом, чтобы узнать
содержимое окружения процесса 1, надо
выполнить следующее:
(cat /proc/1/environ; echo) | tr "\000" "\n"
Причины, по которым это может быть
необходимо, см. в lilo(8).
exe В Linux 2.2 и 2.4 exe является символьной
ссылкой, содержащий действительный имя пути
исполняемой команды. Символьная ссылка exe
может быть нормально обработана - попытка
открыть exe приведет к открытию исполняемого
файла. Можно даже для запуска копии процесса
с определенным номером ввести команду
/proc/[номер]/exe. В Linux 2.0 и более
ранних версиях exe является символьной
ссылкой, указывающей на двоичный файл,
который был запущен. Вызов readlink(2) для
этого специального файла I. exe в Linux 2.0
возвращает строку следующего формата:
[device]:inode
Например, [0301]:1502 означало inode 1502
устройства с основным числом 03 (дисководы
IDE, MFM и т.п.) и второстепенным 01 (первый
раздел в первом устройстве).
Для поиска файла можно использовать команду
find(1) с опцией -inum.
fd - это подкаталог, содержащий одну запись для
каждого открытого процессом файла. Имя
записи соответствует описателю файла, а сама
запись является символьной ссылкой на
открытый процессом файл (аналогично записи
exe). Таким образом, 0 - это стандартный
ввод, 1 - стандартный вывод, 2 - стандартный
вывод ошибок и т.п. Программы, которые в
качестве входного параметра рассматривают
имя файла (но не понимают стандартный ввод)
или записывают результат работы в файл, но
не на стандартный вывод, могут быть
"обмануты" этой системой. Предполагая, что
флаг -i описывает входной файл, а -o -
результирующий, можно выполнить следующее:
foobar -i /proc/self/fd/0 -o /proc/self/fd/1 ...
,- и у Вас появится работающий фильтр.
Заметьте, что это не сработает в том случае,
если программа ищет входные файлы, потому
что поиск в каталоге fd не производится.
/proc/self/fd/N - это примерно то же самое,
что и /dev/fd/N в некоторых UNIX и
UNIX-подобных системах. На самом деле,
многие скрипты MAKEDEV в Linux создают
символьные ссылки /dev/fd на /proc/self/fd.
maps Этот файл содержит данные о текущих
сегментах памяти процесса и права доступа к
ним. Его формат следующий:
address perms offset dev inode pathname
08048000-08056000 r-xp 00000000 03:0c 64593 /usr/sbin/gpm
08056000-08058000 rw-p 0000d000 03:0c 64593 /usr/sbin/gpm
08058000-0805b000 rwxp 00000000 00:00 0
40000000-40013000 r-xp 00000000 03:0c 4165 /lib/ld-2.2.4.so
40013000-40015000 rw-p 00012000 03:0c 4165 /lib/ld-2.2.4.so
4001f000-40135000 r-xp 00000000 03:0c 45494 /lib/libc-2.2.4.so
40135000-4013e000 rw-p 00115000 03:0c 45494 /lib/libc-2.2.4.so
4013e000-40142000 rw-p 00000000 00:00 0
bffff000-c0000000 rwxp 00000000 00:00 0
(где address - это адресное пространство,
занятое процессом, perms - набор следующих
прав:
r = чтение
w = запись
x = исполнение
s = разделяемый
p = частный ("копирование-при-записи")
,- offset -это смещение в файле (или где-то
еще), dev - устройство (старшее:младшее
числа), а inode - это inode этого
устройства). 0 означает, что этой области
памяти не соответствует ни один файл, как
будет в случае с bss.
В Linux 2.0 поле, содержащее путь к файлу,
отсутствует.
mem Через файл mem можно получить доступ к
страницам памяти процесса через open(2),
read(2) и fseek(3).
root Unix и, в частности, Linux поддерживают идею
попроцессных корневых файловых систем,
установленных при помощи системного вызова
chroot(2). Root указывает на корень
файловой системы и работает так же, как exe,
fd/* и т.п.
stat Информация о процессе. Обычно она
используется командой ps(1) и определена в
/usr/src/linux/fs/proc/array.c.
Ниже приведен список полей с указанием их
форматов в соответствии с scanf(3):
pid %d Идентификатор процесса;
comm %s
Имя исполняемого файла процесса в
скобках. Это имя доступно независимо
от того, загружен ли исполняемый
файл в область подкачки или нет;
state %c
Один символ из строки "RSDZT"; где R
означает, что процесс запущен, S
означает, что он находится в
прерываемом ожидании, D - в
непрерываемом ожидании или
загружается, Z - зомби, и T
означает, что процесс отлаживается
или остановлен сигналом, а W - что
процесс ожидает подгрузки страницы.
ppid %d
Идентификатор родительского
процесса.
pgrp %d
Идентификатор группы процессов
процесса.
session %d
Идентификатор сессии процесса
tty_nr %d
Терминал (tty), используемый
процессом.
tpgid %d
Идентификатор группы процессов
процесса, владеющего tty, к которому
подключен данный процесс.
flags %lu
Флаги процесса. Математический бит
- это десятичное 4, а бит
трассировки - десятичное 10.
minflt %lu
Количество некритических страничных
ошибок процесса, не требующих
подгрузки страницы с диска.
cminflt %lu
Количество некритических страничных
ошибок процесса и его дочерних
процессов.
majflt %lu
Количество критических ошибок
процесса, приведших к чтению
страницы памяти с диска.
cmajflt %lu
Количество критических ошибок
процесса и его дочерних процессов.
utime %lu
Количество тиков (jiffies) времени,
отведенных процессу в
пользовательском режиме (user mode).
stime %lu
Количество тиков (jiffies) времени,
отведенных процессу в режиме ядра
(kernel mode).
cutime %ld
Количество тиков (jiffies) времени,
отведенных процессу и его дочерним
процессам в пользовательском режиме.
cstime %ld
Количество тиков (jiffies) времени,
отведенных процессу и его дочерним
процессам в режиме ядра.
priority %ld
Стандартное значение nice,
увеличенное на 15. Это значение не
может быть отрицательным в ядре.
nice %ld Значение nice от 19
(наименьший) до -19 (наибольший
приоритет).
0 %ld Это значение является жестко
прошитым 0 вместо убранного поля.
itrealvalue %ld
Время (в тиках) до отправки процессу
следующего сигнала SIGALRM,
связанного с таймером.
starttime %lu
Время запуска процесса в тиках с
момента загрузки системы.
vsize %lu
Размер виртаульной памяти в байтах.
rss %ld
Resident Set Size: количество
страниц процесса, находящихся в
физической памяти (минус 3 для
административных целей). Это лишь те
страницы, которые связаны с
областями программы, данными или
стеком. К ним не относятся страницы
в режиме "загрузка при чтении" или
выгруженные в область подкачки.
rlim %lu
Текущее ограничение процесса rss в
байтах (обычно 4 294 967 295).
startcode %lu
Начальный адрес, с которого
начинается исполняемая программа.
endcode %lu
Конечный адрес, которым
заканчивается исполняемая программа.
startstack %lu
Адрес начала стека.
kstkesp %lu
Текущее значение esp (указателя
стека) в соответствие со страницей
процессного стека в ядре.
kstkeip %lu
Текущее значение EIP (указателя
выполняемых инструкций).
signal %lu
Маска отложенных сигналов (обычно
0).
blocked %lu
Маска блокируемых сигналов (обычно
0, 2 для shell).
sigignore %lu
Маска игнорируемых сигналов.
sigcatch %lu
Маска "перехватываемых" сигналов.
wchan %lu
"Канал", в котором ожидается
процесс. На самом деле, это адрес
системного вызова, и его можно найти
в списке вызовов, если Вам
необходимо текстовое значение. Если
у Вас есть обновленный файл
/etc/psdatabase, то возможно
использовать ps -l для того, чтобы
увидеть поле WCHAN в действии).
nswap %lu
Количество страниц записанных на
устройство подкачки - не
поддерживается.
cnswap %lu
Сумма nswap для всех дочерних
процессов.
exit_signal %d
Сигнал, который будет послан
родительскому процессу при
завершении.
Номер процессора, на котором эта программа
выполнялась в последний раз.
statm Информация о состоянии памяти в страницах.
Список колонок:
size общий размер программы
resident размер резидентного набора
share разделенные (shared) страницы
trs текст (код)
drs данные/стек
lrs библиотека
dt "грязные" страницы
status Значительная часть информации из stat и
statm в формате, удобном для обработки
человеком.
bus Содержит подкаталоги для установленных шин.
pci Содержит различные подкаталоги шины и псевдо-файлы,
с информацией о шинах pci, установленных
устройствах и драйверах устройств. Некоторые из
этих файлов имеют двоичный формат.
devices
Информация об устройствах pci. Получить к
ней доступ можно с помощью lspci(8) и set-
pci(8).
cmdline
Аргументы, переданные ядру Linux при загрузке.
Часто это делается с помощью менеджера загрузки,
такого как lilo(1).
cpuinfo
Содержит набор параметров CPU и системной
архитектуры (отдельный список для каждой из них).
Общими являются записи: processor, указывающая на
номер процессора, и bogomips - системная константа,
подсчитываемая при инициализации ядра.
Мультипроцессорные машины содержат информацию для
каждого процессора.
devices
Список главных чисел и групп устройств. Его можно
использовать при работе со скриптами MAKEDEV для
того, чтобы каталог /dev подходил ядру.
dma Список используемых зарегистрированных ISA DMA
(прямой доступ к памяти) каналов.
driver Пустой подкаталог.
execdomains
Список execution domains (ABI personalities).
fb Информация о фрейм-буфере, доступная, если при
компиляции ядра был определен CONFIG_FB.
filesystems
Список файловых систем, поддерживаемых ядром.
Используется mount(1) для сортировки типов файловых
систем, если параметр не задан.
ide Существует на системах, имеющих шину ide. Для
каждого канала ide и подключенного устройства
имеются каталоги. Файлы включают в себя:
cache размер буфера в Кб
capacity количество секторов
driver версия драйвера
geometry физическая и логическая геометрия
identify в шестнадцатиричном
media тип носителя
model номер модели производителя
settings настройки дисководанастройки дисковода
smart_thresholds в шестнадцатиричном
smart_values в шестнадцатиричном
Доступ к этой информации в удобном виде
предоставляет утилита hdparm(8).
interrupts
Счетчики количества прерываний IRQ в архитектуре
i386. Осуществляют очень простое форматирование,
соответствующее ASCII.
iomem Карта памяти ввода-вывода в Linux 2.4.
ioports
Список текущих зарегистрированных областей портов
ввода-вывода.
kcore Этот файл представляет собой физическую память
системы и записан в формате файла ELF core. При
работе с этим псевдофайлом и неоптимизированным
кодом ядра (/usr/src/linux/tools/zSystem) можно
использовать GDB для того, чтобы изучать текущее
состояние структур данных ядра. Общий размер этого
файла равен размеру физической памяти машины плюс 4
Кб.
kmsg Этот файл можно использовать вместо syslog(2) для
записи сообщений ядра в журнал. Процесс должен
иметь права root, и только один процесс может
читать этот файл. Этот файл нельзя читать, если
запущен процесс syslog, использующий системный
вызов syslog(2) для работы с сообщениями ядра.
Информация из этого файла может быть получена при
помощи программы dmesg(8).
ksyms Содержит произведенные ядром экспортированные
символьные определения, используемые утилитами mod-
ules(X) для динамической сборки и запуска
загружаемых модулей.
loadavg
Средняя загрузка системы, то есть среднее
количество заданий в очереди (статус R) или среднее
количество заданий, ожидающих обмена данными с
дисками (статус D), ожидающих исполнения за
последние 1, 5 и 15 минут. Это числа, совпадающие
со средней загрузкой системы, выдаваемой командой
uptime(1) и ей подобными.
locks Список заблокированных в текущий момент файлов.
malloc Этот файл существует лишь в том случае, если в
процессе компиляции ядра был задан параметр CON-
FIGDEBUGMALLOC.
meminfo
Этот файл используется командой free(1) для вывода
информации о количестве свободной и использованной
памяти (физическая память+память в области
подкачки), а также данных о разделяемой памяти и
буферах ядра. Формат данных - это результат работы
free(1), только объемы представлены в байтах, а не
в килобайтах.
modules
Список модулей, загруженных системой. См. также
lsmod(8).
mtrr Memory Type Range Registers. Подробности приведены
в /usr/src/linux/Documentation/mtrr.txt.
net Каталог с различными псевдофайлами, касающимися
сети, каждый из которых содержит информацию о
каком-либо ресурсе сети. Эти файлы содержат
различные ASCII-структуры, поэтому их содержимое
можно просматривать при помощи команды cat. Однако,
стандартный набор утилит netstat(8) предоставляет
Вам более простой интерфейс для работы с этими
файлами.
arp Этот файл содержит ASCII-совместимую версию
таблицы ARP ядра, используемую для
распознавания сетевых адресов. Здесь
находятся как динамически сформированные,
так и предварительно сделанные записи. Эта
таблица выглядит так:
IP address HW type Flags HW address Mask Device
192.168.0.50 0x1 0x2 00:50:BF:25:68:F3 * eth0
192.168.0.250 0x1 0xc 00:00:00:00:00:00 * eth0
, где 'IP address' - это IPv4-адрес машины, 'HW
type' - это тип аппаратного адреса в соответствии с
RFC 826. 'Flags' - это внутренние флаги
ARP-структуры (определенные в
/usr/include/linux/if_arp.h), а 'HW address' - это
физическое отражение заданного IP-адреса, если оно
известно.
dev Псевдофайл dev содержит информацию о
состоянии сетевых устройств. В данном
абзаце приведено количество посланных и
принятых пакетов, количество ошибок при
"столкновении" пакетов и другие
статистические данные. Эта информация
используется командой ifconfig(8) для вывода
информации об устройстве. Данные выглядят
примерно так:
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 2776770 11307 0 0 0 0 0 0 2776770 11307 0 0 0 0 0 0
eth0: 1215645 2751 0 0 0 0 0 0 1782404 4324 0 0 0 427 0 0
ppp0: 1622270 5552 1 0 0 0 0 0 354130 5669 0 0 0 0 0 0
tap0: 7714 81 0 0 0 0 0 0 7714 81 0 0 0 0 0 0
rarp Информация в этом файле того же формата, что
и в файле arp. Она представляет собой
работающую в данный момент базу данных
обратного ARP, используемую rarp(8) для
обратного преобразования адресов. Если RARP
не собран в ядре, то этот файл не будет
создан.
raw Содержит таблицу RAW-сокетов ядра. Большая
часть этой информации необходима только при
отладке. Значение 'sl' - это хэш-слот сокета
в ядре, это внутренний статус сокета.
"tx_queue" и "rx_queue" - это исходящий и
входящий поток данных, сообщающий об
использовании памяти ядром. Поля "tr",
"tm->when" и "rexmits" не используются RAW.
Поле uid содержит идентификатор создателя
сокета.
snmp Этот файл содержит текстовые данные,
необходимые для управления IP, ICMP, TCP и
UDP при помощи snmp-агента.
tcp Содержит таблицу TCP-сокетов ядра. Большая
часть этой информации необходима только при
отладке. Значение 'sl' - это хэш-слот сокета
в ядре, 'local address' - это локальный
адрес и номер протокола. "remote address" -
это удаленный адрес и номер протокола. "St"
- это внутренний статус сокета. "tx_queue"
и "rx_queue" - это исходящий и входящий
потоки данных, сообщающие об использовании
памяти ядром. Поля "tr", "tm->when" и
"rexmits" содержат информацию о внутреннем
состоянии сокета, необходимую при отладке.
Поле uid содержит идентификатор создателя
сокета.
udp Содержит таблицу UDP-сокетов ядра. Большая
часть этой информации необходима только при
отладке. Значение 'sl' - это хэш-слот сокета
в ядре, 'local address' - это локальный
адрес и номер протокола. "remote address" -
это удаленный адрес и номер протокола. "St"
- это внутренний статус сокета. "tx_queue"
и "rx_queue" - это исходящий и входящий
потоки данных, сообщающие об использовании
памяти ядром. Поля "tr", "tm->when" и
"rexmits" не используются UDP. Поле uid
содержит идентификатор создателя сокета.
Выглядит эта таблица примерно так:
sl local_address rem_address st tx_queue rx_queue tr rexmits tm->when uid
1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
unix Список доменных UNIX-сокетов, существующих в
системе, а также их статус. Выглядит эта
таблица примерно так:
Num RefCount Protocol Flags Type St Path
0: 00000002 00000000 00000000 0001 03
1: 00000001 00000000 00010000 0001 01 /dev/printer
где 'Num' - это номер слота в таблице ядра, 'Ref-
Count' - количество пользователей сокета, 'Proto-
col' - всегда 0, 'Flags' - внутренние флаги ядра,
отражающие состояние сокета. Тип всегда равен '1'
(доменные datagram-сокеты Unix пока не
поддерживаются ядром). 'St' - это внутренний статус
сокета, а Path - это установленный путь сокета
(если таковой существует).
partitions
Содержит главный и дополнительный номера для
каждого раздела, а также количество блоков и имя
раздела.
pci Здесь содержится список всех PCI-устройств,
обнаруженных при инициализации ядра, а также их
названия и параметры.
scsi Каталог с псевдофайлом scsi среднего уровня, а
также с каталогом (или каталогами), соответствующим
драйверам SCSI низкого уровня. Внутри этих
каталогов есть файлы (по одному на каждый SCSI-хост
в этой системе), в которых описывается состояние
одной из подсистем SCSI. Эти файлы содержат
различные ASCII-структуры, и поэтому их содержимое
можно просматривать при помощи команды cat. Более
того, в некоторые из этих файлов разрешено
записывать информацию, что позволяет изменять
настройки соответствующих подсистем или запускать и
отключать некоторые функции SCSI.
scsi Этот файл содержит список всех
SCSI-устройств, известных ядру. Этот список
похож на тот, что выдается на экран при
загрузке системы. Файл scsi поддерживает
только одну команду, add-single-device,
позволяющую включить одно из известных
Plug&Play SCSI-устройств. Команда echo
'scsi add-single-device 1 0 5 0' >
/proc/scsi/scsi заставит хост scsi1
просканировать канал SCSI под номером 0 на
наличие в нем устройства ID 5 LUN 0. Если
уже есть устройство с этим адресом или
данный адрес неправилен, то будет возвращено
сообщение об ошибке.
имя_драйвера
имя_драйвера может быть NCR53c7xx, aha152x,
aha1542, aha1740, aic7xxx, buslogic,
eata_dma, eata_pio, fdomain, in2000, pas16,
qlogic, scsi_debug, seagate, t128, u15-24f,
ultrastore или wd7000. Эти каталоги
появляются для всех драйверов, за которыми
зарегистрировано хотя бы одно
SCSI-устройство. Каждый каталог содержит
файлы (по одному на каждый
зарегистрированный хост). Каждый файл назван
в соответствии с номером хоста, который был
выделен им при инициализации. При чтении
этих файлов обычно выдаются сообщения о
настройках драйвера и хоста, статистика и
т.п. Запись информации в эти файлы
позволяет производить различные действия над
хостами. Например, команды latency и nola-
tency могут запускать и отключать код
измерения задержки в драйвере eata_dma.
Команды lockup и unlock контролируют
блокировки шины, эмулируемые драйвером
scsi_debug.
self Этот каталог соответствует процессу, читающему
каталог /proc. Это то же самое, что и подкаталог
каталога /proc, названный в соответствии с номером
текущего процесса.
slabinfo
Информация о кэшах ядра. Список колонок:
cache-name
num-active-objs
total-objs
object-size
num-active-slabs
total-slabs
num-pages-per-slab
Дополнительная информация приведена в slabinfo(5).
stat Статистика ядра/системы. Зависит от архитектуры.
Общие записи включают в себя:
cpu 3357 0 4313 1362393
Количество тиков (1/100 секунды),
произведенных системой в обычном
пользовательском режиме, в пользовательском
режиме с низким приоритетом, в системном
режиме и в режиме ожидания соответственно.
Последнее значение должно быть равно
умноженному на 100 значению 2-ого поля в
псевдофайле uptime.
page 5741 1808
Количество созданных и удаленных страниц
памяти.
swap 1 0
Количество страниц памяти, выгруженных в
область подкачки и загруженных из нее.
intr 1462898
Количество прерываний, полученных системой с
начала загрузки.
disk_io: (2,0):(31,30,5764,1,2) (3,0):...
(major,minor):(noinfo, read_io_ops,
blks_read, write_io_ops, blks_written)
ctxt 115315
Количество смен контекста исполнения с
начала работы системы.
btime 769041601
Время загрузки системы (в секундах с начала
данной эпохи: 1 января 1970 года).
processes 86031
Количество ветвлений процессов с момента
загрузки.
swaps Используемые области подкачки. См. также
swapon(8).
sys Этот каталог (созданный в ядре версии
1.3.57) содержит файлы и каталоги,
соответствующие переменным ядра. Эти
переменные могут быть считаны и иногда
изменены с помощью файловой системы proc, а
также при помощи системного вызова
sysctl(2). В настоящее время существуют
подкаталоги abi, debug, dev, fs, kernel,
net, proc и vm, содержащие дополнительные
файлы и подкаталоги.
abi Этот каталог может быть пустым.
debug Этот каталог может быть пустым.
dev Этот каталог может быть пустым.
fs Содержит файлы dentry-state, dir-
notify-enable, dquot-nr, file-max,
file-nr, inode-nr, inode-state,
lease-break-time, leases-enable,
overflowgid и overflowuid назначение
которых понятно из их имен.
Файл file-nr содержит количество открытых в
данный момент файлов (только для чтения).
Файл file-max содержит максимальное
количество файлов, которые могут быть
открыты ядром. Если количества 1024
недостаточно, попытайтесь задать следующую
команду:
echo 4096 > /proc/sys/kernel/file-max
Файлы inode-nr и inode-max также содержат
текущее и максимальное количество inode.
kernel Содержит файлы cad_pid,cap-
bound,core_uses_pid,ctrl-alt-del domain-
name,hostname, modprobe, msgmax, msgmnb,
msgmni, osrelease, ostype, overflowgid,
overflowuid, panic, printk, random, rtsig-
max, rtsig-nr, sem, shmall, shmmax, shmmni,
sysrq, tainted, threads-max и version
назначение которых понятно из их имен.
Файлы ostype, osrelease и version содержат
подстроки файла /proc/version. Файл panic
осуществляет доступ к переменной panic_time-
out ядра. Если значение переменной равно 0,
то ядро "зависнет" после выдачи сообщения
класса panic; в противном случае произойдет
перегрузка ядра по истечении данного
количества секунд.
sysvipc
Подкаталог, содержащий псевдо-файлы msg, sem
и shm. Эти файлы для облегчения их
прочтения имеют заголовки и форматирование.
tty Подкаталог, содержащий псевдо-файлы и
подкаталоги для драйверов tty и дисциплин
линий.
uptime В этом файле содержатся два числа,
обозначающие: время работы системы с момента
загрузки (в секундах) и время, проведенное
системой в ожидании (в секундах).
version
Эта строка идентифицирует версию текущего
ядра, например:
Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
СООТВЕТСТВИЕ
Данные этой страницы приблизительно соответствуют
данным о Linux версии 2.4.17, поэтому страница
должна быть обновлена! Последний раз эта страница
обновлялась при описании Linux версии 2.4.17.
ПРЕДОСТЕРЕЖЕНИЯ
Заметьте, что многие строки (например, "окружение"
и "командная строка") представлены во внутреннем
формате, где поля разделяются символами NUL; эти
строки можно сделать легко читаемыми, если
использовать od -c или tr "\000" "\n" для их
обработки.
НАЙДЕННЫЕ ОШИБКИ
Файловая система /proc может быть не совсем
безопасной для процессов, работающих в среде
chroot(2). Например, если файловая система /proc
подключена к иерархии chroot, то задание команды
chdir(2) в каталоге /proc/1/root приведет к
переходу к исходному, корневому каталогу системы.
Вообще-то, это больше свойство, чем ошибка, так как
Linux до сих пор не поддерживает системный вызов
fchroot(2).