Although there is no standard (POSIX or other) for the layout of the /proc
pseudo-filesystem, it turned out a very useful facility in GNU/Linux and other
systems, and many tools concerned with process management use it. (ps
, top
,
htop
, gtop
, killall
, pkill
, ...)
Instead of porting all these tools to use libps (Hurd's official method for
accessing process information), they run out of the box, via the
Hurd's Linux-compatible procfs
at /proc
. (On Linux, the
/proc
filesystem is used also for debugging purposes; but this is
highly system-specific anyways, so there is probably no point in
trying to duplicate this functionality as well...)
History of procfs
There was an implementation in HurdExtras, http://www.nongnu.org/hurdextras/#procfs.
Madhusudan.C.S has implemented a new, fully functional procfs for GSoC 2008.
In August 2010, Jérémie Koenig published another, new version. This can be found in https://git.savannah.gnu.org/cgit/hurd/procfs.git/.
Testing it is as simple as this:
$ git clone git://git.savannah.gnu.org/hurd/procfs.git
$ cd procfs/
$ make
$ settrans -ca proc procfs --compatible
$ ls -l proc/