I'm trying to understand the use of dup2 and dup.
From the man page:
DESCRIPTION
dupanddup2create a copy of the file descriptoroldfd. After successful return ofdupordup2, the old and new descriptors may be used interchangeably. They share locks, file position pointers and flags; for example, if the file position is modified by usinglseekon one of the descriptors, the position is also changed for the other.The two descriptors do not share the close-on-exec flag, however.
dupuses the lowest-numbered unused descriptor for the new descriptor.
dup2makesnewfdbe the copy ofoldfd, closingnewfdfirst if necessary.RETURN VALUE
dupanddup2return the new descriptor, or -1 if an error occurred (in which case,errnois set appropriately).
Why would I need that system call? What is the use of duplicating the file descriptor? If I have the file descriptor, why would I want to make a copy of it? I'd appreciate it if you could explain and give me an example where dup2 / dup is needed.