Unix Man (Справочное руководство)

DUP(2)


DUP(2)

НАЗВАНИЕ


dup - дублирование дескриптора открытого файла

СИНТАКСИС

int dup (fildes) int fildes;

ОПИСАНИЕ


Аргумент fildes - это дескриптор файла, полученный после выполнения системных вызовов creat, open, dup, fcntl и pipe. Системный вызов dup возвращает новый дескриптор файла, имеющий следующие общие свойства с исходным дескриптором:

  1. Тот же открытый файл (или канал).
  2. Тот же указатель текущей позиции в файле (то есть оба дескриптора разделяют один и тот же указатель).
  3. Тот же режим доступа (чтение, запись или чтение/запись).

Новый дескриптор создается таким, чтобы после выполнения системных вызовов файл оставался открытым [см. ].

Возвращается наименьший из доступных дескрипторов.

Системный вызов dup завершается неудачей, если выполнено хотя бы одно из следующих условий:

[EBADF] Аргумент fildes не является корректным дескриптором открытого файла. [EINTR] Во время выполнения системного вызова перехвачен сигнал. [EMFILE] Превышается максимально допустимое количество файлов, открытых одновременно в одном процессе. [ENOLINK] Аргумент fildes указывает на удаленный компьютер, связи с которым в данный момент нет.

СМ. ТАКЖЕ


, , , , , , .

ДИАГНОСТИКА


При успешном завершении результат равен неотрицательному целому числу - дескриптору файла; в случае ошибки возвращается -1, а переменной errno присваивается код ошибки.



Содержание раздела