FDESC(5)

명칭
fdesc - 파일 기술자 파일 시스템

서식
fdesc /dev fdesc rw 0 0

해설
파일 기술자 파일 시스템, 별명 fdesc (은)는, 프로세스 마다의 파일 기술자의 이름 공간을 글로벌인 파일 시스템의 이름 공간으로부터 액세스 하는 기능을 제공합니다. 통상의 마운트 포인트는 /dev (이어)여, /dev 의 기존의 엔트리를 옮겨놓는 것이 아니라 거듭해 맞추기 위해서(때문에), 파일 시스템을 union mount 할 필요가 있습니다.

마운트 포인트의 내용은 fd, stderr, stdin, stdout 및 tty 입니다.

fd (은)는 디렉토리에서, 그 내용은, 번호로 나타낸 파일의 리스트로서 보입니다. 이러한 파일은, 디렉토리를 읽는 프로세스가 현재 오픈하고 있다 파일에 대응하고 있습니다. /dev/fd/0 (으)로부터 /dev/fd/# 까지의 파일은 기술자에게로의 참조이며, 파일 시스템을 통해서 액세스 할 수가 있습니다. 파일 기술자가 오픈되고 있어, 파일을 오픈했을 때의 모드가 기존의 기술자의 모드의 부분집합인 경우는, 시스템 콜 호출

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

라고 시스템 콜 호출

    fd = fcntl(0, F_DUPFD, 0);

(은)는 등가입니다.

파일 /dev/stdin, /dev/stdout 및 /dev/stderr 하 /dev/fd 서브 디렉토리의 대응하는 엔트리에의 기호 연결이 됩니다. 이것들을 오픈하는 것은, 이하의 시스템 콜 호출과 등가입니다.

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

open(2) 호출시의 플래그는 O_RDONLY, O_WRONLY 및 O_RDWR 이외는 무시됩니다.

/dev/tty 엔트리는 경향 프로세스의 제어 단말에의 간접 참조입니다. 이것은 외관상은 이름 다하고 파이프 (FIFO)입니다만, 진짜의 제어 단말 디바이스와 완전히 같은 행동을 합니다.

관련 파일
/dev/fd/#
/dev/stdin
/dev/stdout
/dev/stderr
/dev/tty

관련 항목
tty(4), mount_fdesc(8)

역사
fdesc 파일 시스템은 4.4BSD 그리고 최초로 등장했습니다. fdesc 메뉴얼 페이지는 FreeBSD 2.2 그리고 최초로 등장했습니다.

저자
-nosplit fdesc 메뉴얼 페이지는 Mike Pritchard <mpp@FreeBSD.org> 에 의해 쓰여진 것으로, Jan-Simon Pendry 에 의한다 mount_fdesc(8) 메뉴얼 페이지에 근거하고 있습니다.