Перейти к содержанию

О директории /proc

/proc - это виртуальная ФС, которая предоставляет информацию о системе и процессах. Эта ФС не занимает место на диске и используется программами по типу top, htop, ps и т.д. для получения информации о процессах.

Здесь представлено неполное описание, но я думаю, общее представление данная записка должна дать.

Информация о процессах

Информация о процессах хранится в директориях вида /proc/X, где X - номер процесса. В каждой такой директории можно встретить следующие псевдофайлы, которые дают информацию о процессе:

/proc/X/cmdline

Cодержит содержимое командной строки, которой был запущен процесс

/proc/X/environ

Cодержит описание окружения, в котором роаботает процесс.

/proc/X/exe

Cодержит символическую ссылку на выполняем файл запущенного процесса.

Подсказка

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

/proc/X/limits

Содержит лимиты на используемые ресурсы, актуальные для запущенного процесса. Выглядит файл следующим образом:

Содержимое
Limit                     Soft Limit           Hard Limit           Units
Max cpu time              unlimited            unlimited            seconds
Max file size             unlimited            unlimited            bytes
Max data size             unlimited            unlimited            bytes
Max stack size            8388608              unlimited            bytes
Max core file size        unlimited            unlimited            bytes
Max resident set          unlimited            unlimited            bytes
Max processes             unlimited            unlimited            processes
Max open files            1048576              1048576              files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       3195                 3195                 signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

/proc/X/mounts

Содержит список смонтированных ресурсов, которые доступны процессу. Выглядит следующим образом:

Содержимое
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,nosuid,noexec,relatime,size=409096k,nr_inodes=102274,mode=755,inode64 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,nodev,noexec,relatime,size=617188k,mode=755,inode64 0 0
/dev/mapper/ubuntu--vg-ubuntu--lv / ext4 rw,relatime 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0

/proc/X/status

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

/proc/X/cwd

Символическая ссылка на текущую директорию процесса.

/proc/X/fd

Каталог, в котором содержатся файловые дескрипторы для процесса.

/proc/X/fdinfo

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

Содержимое
pos:    0 - позиция курсора
flags:  01 - флаги, с которыми дескриптор был открыт
mnt_id: 13 - идентификатор точки монтирования из списка /proc/N/mountinfo

/proc/N/root

Символическая ссылка на корневую директорию процесса

/proc/N/net

Каталог, который содержит сетевые параметры для процесса.

Общесистемные

/proc/acpi

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

/proc/bus

Директория, которая содержит информацию о системных шинах и устройствах.

/proc/fs

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

/proc/sys

Директория, содержащая массу информации о системе

Ссылки

The proc File system, Redhat