fd,
stdin,
stdout,
stderr
—
file descriptor files
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.
Opening the files
/dev/stdin,
/dev/stdout and
/dev/stderr is equivalent to the following calls:
fd = fcntl(STDIN_FILENO, F_DUPFD, 0);
fd = fcntl(STDOUT_FILENO, F_DUPFD, 0);
fd = fcntl(STDERR_FILENO, F_DUPFD, 0);
Flags to the
open(2) call other than
O_RDONLY
,
O_WRONLY
and
O_RDWR
are ignored.
By default,
/dev/fd is provided by
devfs(5), which provides nodes for the first
three file descriptors. Some sites may require nodes for additional file
descriptors; these can be made available by mounting
fdescfs(5) on
/dev/fd.
- /dev/fd/#
-
- /dev/stdin
-
- /dev/stdout
-
- /dev/stderr
-
tty(4),
devfs(5),
fdescfs(5)