DUP2(2) — HP-UX
NAME
dup2 − duplicate an open file descriptor to a specific slot
SYNOPSIS
int dup2(fildes, fildes2)
int fildes, fildes2;
DESCRIPTION
Fildes is a file descriptor obtained from a creat, open, dup, fcntl, or pipe system call.
Fildes2 is a non-negative integer less than the maximum value allowed for file descriptors.
Dup2 causes fildes2 to refer to the same file as fildes. If fildes2 already referred to an open file, it is closed first.
The file descriptor returned by dup2 has the following in common with fildes:
Same open file (or pipe).
Same file pointer (that is, both file descriptors share one file pointer.)
Same access mode (read, write or read/write).
Same file status flags (see fcntl(2), F_DUPFD).
The new file descriptor is set to remain open across exec system calls. See fcntl(2).
This routine is found in the C library. Programs using dup2 but not using other routines from the Berkeley importability library (such as the routines described in bsdproc(2)) should not give the −lBSD option to ld(1).
ERRORS
Dup2 will fail if the following is true:
[EBADF] Fildes is not a valid open file descriptor or fildes2 is not in the range of legal file descriptors.
RETURN VALUE
Upon successful completion, dup2 returns a non-negative integer, namely the new file descriptor fildes2. Otherwise, it returns −1 and sets errno to indicate the error.
SEE ALSO
close(2), creat(2), dup(2), exec(2), fcntl(2), open(2), pipe(2).
Hewlett-Packard Company — May 11, 2021