[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 Создание копии дескриптора файла

dup(2) возвращает новый файловый дескриптор. Это всегда наименьший
возможный файловый дескриптор. Он ассоциируется с тем же файлом, имеет
ту же позицию в файле и те же права доступа, что и fildes. dup(2)
копирует информацию из таблицы файловых дескрипторов в свободное место
в этой же таблице. Возвращаемый дескриптор является индексом нового
элемента таблицы.
Основная задача dup(2) - обеспечить перенаправление ввода/вывода.
dup(2) может быть использован, чтобы выполнить перенаправление в
программный канал.
Пример:        newfd = dup(existfd)
                   СОЗДАНИЕ КОПИИ ДЕСКРИПТОРА ФАЙЛА
dup(2)

ИМЯ

      dup - создать копию дескриптора открытого файла

ИСПОЛЬЗОВАНИЕ

      #include <unistd.h>

      int dup (int fildes);

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

      успех - неотрицательный файловый дескриптор

      неуспех - -1 и errno установлена
                          Что делает dup(2)

Системный вызов dup(2) копирует указатель на системную файловую
структуру в таблице дескрипторов файлов в новый дескриптор. Это
позволяет двум файловым дескрипторам совместно использовать ту же
самую позицию, поскольку они указывают на одну и ту же системную
файловую структуру.
                          ЧТО ДЕЛАЕТ dup(2)