
Lucy Baldwin, 123RF
Exploring the filesystem that knows everything
One /proc to Rule Them All
The /proc
filesystem [1] is one of the most original results of the Unix world's bias for seeing everything as a filesystem. At its most essential, procfs
is a mechanism for exposing the state and configuration of the computer through a virtual filesystem. Files in /proc
provide access to most interesting details about a system's operational state, and when those files can be directly modified, they even allow you to change the configuration.
What's In /proc?
The name proc
is shorthand for Process Filesystem
, and indeed the original SVR8 Unix implementation is documented in Tom J. Killian's 1984 Usenix paper [2] entitled "Processes as Files." Cross-pollinated through the later Bell Labs Plan 9 implementation, Linux's version is original in exposing not just process information, but a wealth of system details as well [3]. The files in the Linux /proc
directory also have a pleasingly hackable penchant for being directly readable as plain text, as opposed to more binary-centric proc
implementations that rely on tools to expose the raw data to end users.
The main highlights of the Linux version of proc
are listed in Table 1. Each process subdirectory contains files exposing this information, and more. A wealth of details about your processes is available, although security stops you from accessing other users' processes if you are not root
. The Linux kernel also provides lots of additional system information through proc
, something that makes Unix purists cringe, but users have come to love these additional details. For example, the
Buy ADMIN Magazine
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Most Popular
Support Our Work
ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.
