О директории /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¶
Каталог, в котором содержится информация о файловых дескрипторах.
Содержимое
/proc/N/root¶
Символическая ссылка на корневую директорию процесса
/proc/N/net¶
Каталог, который содержит сетевые параметры для процесса.
Общесистемные¶
/proc/acpi¶
Директория, связанная с управлением состоянием устройств, в основном там содержатся настройки связаные с питанием.
/proc/bus¶
Директория, которая содержит информацию о системных шинах и устройствах.
/proc/fs¶
Директория, содержащая информация о файловых системах.
/proc/sys¶
Директория, содержащая массу информации о системе