dup2(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

dup2(3c)

Standard C Library Functions                                          dup2(3C)



NAME
       dup2, dup3 - duplicate an open file descriptor

SYNOPSIS
       #include <unistd.h>

       int dup2(int fildes, int fildes2);

       int dup3(int fildes, int fildes2, int flags);

DESCRIPTION
       The  dup2() function causes the file descriptor fildes2 to refer to the
       same file as fildes. The fildes argument is a file descriptor referring
       to  an  open  file, and fildes2 is a non-negative integer less than the
       current value for the maximum number of open file  descriptors  allowed
       the  calling process. See getrlimit(2). If fildes2 already refers to an
       open file, not fildes, it is closed first. If fildes2 refers to fildes,
       or  if  fildes is not a valid open file descriptor, fildes2 will not be
       closed first.


       The dup2() function is equivalent to fcntl(fildes, F_DUP2FD, fildes2).


       The dup3() function causes the file descriptor fildes2 to refer to  the
       same file as fildes. The fildes argument is a file descriptor referring
       to an open file, and fildes2 is a non-negative integer  less  than  the
       current  value  for the maximum number of open file descriptors allowed
       the calling process. See getrlimit(2). If fildes2 already refers to  an
       open file, not fildes, it is closed first. If fildes2 refers to fildes,
       an error is returned. The flags argument can include  O_CLOEXEC  and/or
       O_CLOFORK;  these  flags  respectively set FD_CLOEXEC and FD_CLOFORK on
       the created new file descriptor.


       The dup3() function is equivalent to fcntl(fildes,  F_DUP3FD,  fildes2,
       fd_flags),  where  fd_flags  is  a  mapping  of  O_CLOEXEC/O_CLOFORK to
       FD_CLOEXEC/FD_CLOFORK.

RETURN VALUES
       Upon successful completion a non-negative integer representing the file
       descriptor  is  returned. Otherwise, −1 is returned and errno is set to
       indicate the error.

ERRORS
       The dup2() and dup3() functions will fail if:

       EBADF     The fildes argument is not a valid open file descriptor.


       EBADF     The fildes2 argument is negative or is not less than the cur‐
                 rent  resource  limit  returned  by  getrlimit(RLIMIT_NOFILE,
                 ...).


       EINTR     A signal was caught during the dup2() call.


       EMFILE    The process has too many open files. See fcntl(2).


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE  VALUE  _  Interface StabilityCommitted _ MT-LevelAsync-Signal-
       Safe _ StandardSee standards(7).


SEE ALSO
       close(2), creat(2), exec(2), fcntl(2), getrlimit(2), open(2),  pipe(2),
       attributes(7), standards(7)



Oracle Solaris 11.4               22 Jan 2018                         dup2(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3