Какова цель файла / proc / pid / mountinfo?

10

Какова цель /proc/pid/mountinfoфайла (с pid, являющимся числовым идентификатором процесса)?

Насколько я вижу, это отражает содержимое /proc/mountsфайла, но с добавленной информацией.

Кроме того, кажется, что файл остается неизменным для всех процессов: diff для двух случайно выбранных процессов не возвращает выходные данные ( diff /proc/3833/mountinfo /proc/2349/mountinfo)

Обратите внимание, что я не спрашиваю, что в нем содержится. Из определений в Интернете я вижу, что «Этот файл содержит информацию о точках монтирования». Я спрашиваю, почему он присутствует в каждом каталоге процесса? Какова его цель там?

голем
источник

Ответы:

15

Проверьте документацию ядра для информации о файлах в /proc.

Для каждого процесса существует один такой файл, потому что не все процессы видят одинаковые точки монтирования. Chroot - это традиционная функция Unix, которая позволяет ограничивать процессы поддеревом дерева файловой системы. Процесс chroot не будет видеть точки монтирования вне своего корня. Linux продвигает это дальше с пространствами имен : процесс может составить свое собственное представление о файловой системе, прививая поддеревья вокруг.

Для получения дополнительной информации о пространствах монтирования см. Точки монтирования файловой системы для каждого процесса и статьи Майкла Керриска о пространствах имен в LWN .

Жиль "ТАК - перестань быть злым"
источник