I read from man pages of execve that if a process(A) call execve, the already opened file descriptors are copied to the new process(B).

Two possiblities arise here :-

1) Does it mean that a new file descriptor table is created for process B, the entries to which are copied from older file descriptor table of process A

2) Or process B gets the file descriptor table of process A as after execve process A will cease to exist and the already opened files could only be closed from process B, if it gets the file descriptor table of process A.

Which one is correct?

Edit
Report