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.

For linux(4) ABI compatibility mount fdescfs volume with linrdlnk option.

FILES
/dev/fd/#

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

    mount -t fdescfs null /dev/fd

For linux(4) ABI compatibility:

    mount -t fdescfs -o linrdlnk null /compat/linux/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.