Где содержание/proc ядра Linux зарегистрировано?

Согласно определению POSIX, пути, запускающиеся с двойной наклонной черты (//) "..., могут быть интерпретированы определенным реализацией способом, хотя больше чем две ведущих наклонных черты нужно рассматривать как единственную наклонную черту". При использовании csh, например, он не действует одинаково:

% bash -c 'cd //; pwd'
//
% csh -c 'cd //; pwd'
/

Bash, кажется, хранит каталог, и pwd сообщает о $PWD, в то время как csh, кажется, использует getcwd() функция для получения фактического каталога.

16
18.04.2018, 16:47
3 ответа

Документация для реализации Linux /proc находится в Documentation/filesystems/proc.txt в документации ядра.

Остерегайтесь этого /proc одна из областей, где *ixes отличаются больше всего. Это начало как System V определенную функцию, было затем значительно расширено Linux и находится теперь в процессе того, чтобы быть удержавшим от использования вещами как /sys. BSDs — включая OS X — не приняли его вообще. Поэтому, если Вы пишете программу или сценарий, это получает доступ к вещам в /proc, существует хороший шанс, он не продолжит работать другой *ixes.

23
27.01.2020, 19:48

В основном /proc имеет файлы, которые хранятся на RAM, когда начальные загрузки системы и остаются там, пока система произошла. Узнавание, что находится в этом файле, похоже на RAM чтения. Вот почему Вы не можете изменить содержание или значения этих файлов с помощью энергии или некоторого любого другого редактора. Они должны быть вынуждены с некоторыми булевыми значениями.

Здесь у меня есть некоторая хорошая документация с целым списком и описаниями каждого объекта.

1
27.01.2020, 19:48
  • 1
    Файлы точно не хранятся в RAM: они (по большей части) сгенерированы ядром на лету, когда Вы читаете их. Для перезаписываемых файлов, когда Вы пишете в них, это не хранит что-то в RAM, скорее это изменяет настройки ядра. –  Gilles 'SO- stop being evil' 08.01.2011, 20:28
  • 2
    На самом деле большинство proc файлов не является реальными файлами вообще! Они - виртуальные файлы, которые ведут себя, как объяснил Gilles выше. При чтении их ядро возвращает некоторое значение от своих структур данных и когда Вы пишете в них, ядро обновляет часть своей записи –  Pavan Manjunath 21.11.2012, 08:59

Да, есть страница man в разделе 5 "Файловые форматы и соглашения":

man 5 proc

Удивительно длинная, но - она описывает 189 виды файлов в /proc.

.
2
27.01.2020, 19:48

Теги

Похожие вопросы