[<<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)