table of contents
DUP(2) | Manual do Programador Linux | DUP(2) |
NOME¶
dup, dup2 - duplica um descritor de arquivos
SINOPSE¶
#include <unistd.h> int dup(int oldfd); int dup2(int oldfd, int newfd);
DESCRIÇÃO¶
dup e dup2 criam uma cópia do descritor de arquivos oldfd.
Depois do retorno bem sucedido de dup ou dup2, o velho e o novo descritores podem ser usados sem distinção. Eles compartilham travamento, posicionamento do arquivo, ponteiros e sinalizadores; por exemplo, se a posição do arquivo é modificada usando-se lseek em um dos descritores, a posição é, também, alterada para o outro.
De qualquer forma, Os dois descritores não dividem o sinalizador close-on-exec.
dup usa o mais baixo número não usado de descritor para o novo descritor.
dup2 makes newfd ser a cópia de oldfd, closing newfd primeiro se necesário.
VALORES RETORNADOS¶
dup e dup2 retorna o novo descritor, ou -1 se um erro occurrido (neste caso, errno é selecionado adequadamente).
ERROS¶
ADVERTÊNCIA¶
O erro retornado por dup2 é diferente que aquele retornado por fcntl(..., F_DUPFD, ...) quando newfd está fora do intervalo. Em muitos sistemas dup2 também retorna às vezes EINVAL como F_DUPFD.
DE ACORDO COM¶
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 documenta condições de erros adicionais EINTR e ENOLINK. POSIX.1 adiciona EINTR.
VEJA TAMBÉM¶
21/08/1994 | Linux 1.1.46 |