Unix C dup2 Вопрос - PullRequest
       2

Unix C dup2 Вопрос

0 голосов
/ 13 октября 2010

У меня вопрос по поводу dup2().Что именно это делает?Копирует дескриптор файла?

Я не совсем понимаю использование dup2().Я пробовал Google, и до сих пор не совсем понимаю, что это значит.

1 Ответ

4 голосов
/ 13 октября 2010

Требуется два параметра, которые являются дескрипторами.Это делает второй эквивалент первого.Вы можете использовать их взаимозаменяемо с несколькими небольшими исключениями ... см. Справочную страницу для более подробной информации о случаях использования.

Вы могли бы сделать это, например, чтобы перенаправить дескрипторы консоли 1, 2 или 3, на другое устройство или файл.Причина, по которой вы не хотите закрывать их, а затем снова открывать, заключается в том, что нет никакой гарантии, что вы получите тот же дескриптор номера при следующем открытом вызове.Вот почему вы должны использовать open (), чтобы получить дескриптор файла, а затем dup2(new_descriptor, 1);, чтобы заставить дескриптор 1 перейти куда-нибудь, кроме консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...