Linux repositories inspector
Linux 1.1.46
Aliases: dup2(2), dup2(2), dup2(2), dup2(2), dup2(2), dup2(2), dup2(2), dup2(2), dup2(2), dup2(2), dup2(2), dup2(2), dup3(2), dup3(2), dup3(2), dup3(2), dup3(2), dup3(2), dup3(2), dup3(2), dup3(2), dup3(2)

manpages-pt-dev

Portuguese Versions of the Manual Pages (dev sections)

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

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

EBADF oldfd não é um descritor de arquivo aberto, ou newfd está fora do intervalo permitido para descritores de arquivos.
EMFILE O processo tem um número máximo de descritores de arquivos abertos e tenta abrir um novo.

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

⇧ Top