EN JA
FD(4)
FD(4) FreeBSD Kernel Interfaces Manual FD(4)

名称

fd, stdin, stdout, stderrファイル記述子ファイル

解説

ファイル /dev/fd/0 から /dev/fd/# は、ファイルシステムを通してアクセスできるファイル記述子を参照します。ファイル記述子がオープンされ、ファイルがオープンされているモードがオープンしようとするファイルのモードが既存の記述子のモードのサブセットであるなら、次の呼び出し:

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

と次の呼び出し:

fd = fcntl(0, F_DUPFD, 0);

は、同等です。

ファイル /dev/stdin, /dev/stdout/dev/stderr をオープンすることは、次の呼び出しと同等です:

fd = fcntl(STDIN_FILENO,  F_DUPFD, 0); 
fd = fcntl(STDOUT_FILENO, F_DUPFD, 0); 
fd = fcntl(STDERR_FILENO, F_DUPFD, 0);

O_RDONLY, O_WRONLYO_RDWR 以外の open(2) 呼び出しへのフラグは、無視されます。

実装に関する注

デフォルトで、 /dev/fd は、最初の 3 つのファイル記述子のためのノードを提供する devfs(5) によって提供されます。いくつかのサイトは、追加のファイル記述子のためのノードを必要とするかもしれません。 /dev/fdfdescfs(5) をマウントすることによって、これらを利用可能とすることができます。

関連ファイル

/dev/fd/#
/dev/stdin
/dev/stdout
/dev/stderr

関連項目

tty(4), devfs(5), fdescfs(5)
June 9, 1993 FreeBSD