The /proc
file system
(procfs) is a special file system in the linux kernel. It's a
virtual file system: it is not associated with a block device
but exists only in memory. The files in the procfs are there to
allow userland programs access to certain information from the
kernel (like process information in /proc/[0-9]+/
), but also for debug
purposes (like /proc/ksyms
).
This guide describes the use of the procfs file system from within the Linux kernel. It starts by introducing all relevant functions to manage the files within the file system. After that it shows how to communicate with userland, and some tips and tricks will be pointed out. Finally a complete example will be shown.
Note that the files in /proc/sys
are sysctl files: they
don't belong to procfs and are governed by a completely
different API described in the Kernel API book.