FDESCFS(5)

NAME
fdescfs - file-descriptor file system

SYNOPSIS

    fdescfs	/dev/fd	fdescfs rw 0 0

DESCRIPTION
The file-descriptor file system, or fdescfs, provides access to the per-process file descriptor namespace in the global file system namespace. The conventional mount point is /dev/fd.

The file system's contents appear as a list of numbered files which correspond to the open files of the process reading the directory. The files /dev/fd/0 through /dev/fd/# refer to file descriptors which can be accessed through the file system. If the file descriptor is open and the mode the file is being opened with is a subset of the mode of the existing descriptor, the call:

    fd = open("/dev/fd/0", mode);

and the call:

    fd = fcntl(0, F_DUPFD, 0);

are equivalent.

Flags to the open(2) call other than O_RDONLY, O_WRONLY and O_RDWR are ignored.

Note: /dev/fd/0, /dev/fd/1 and /dev/fd/2 files are created by default when devfs alone is mounted. fdescfs creates entries for all file descriptors opened by the process.

FILES
/dev/fd/#

EXAMPLES
To mount a fdescfs volume located on /dev/fd:

    mount -t fdescfs null /dev/fd

SEE ALSO
devfs(5), mount(8)

HISTORY
The fdescfs file system first appeared in 4.4BSD. The fdescfs manual page first appeared in FreeBSD 2.2.

AUTHORS
-nosplit The fdescfs manual page was written by Mike Pritchard <mpp@FreeBSD.org>, and was based on the manual page written by Jan-Simon Pendry.