Что действительно делают системные вызовы dup()
и dup2()
? Как я буду использовать их на практике?Что действительно делают системы dup() и dup2()?
ответ
Оба создают новый файловый дескриптор, соответствующий существующему открытому файлу. Большинство свойств между старым и новым fd (например, позиция) разделяются; единственное свойство, о котором я могу думать, это не общий флажок close-on-exec. Разница между dup
и dup2
заключается в том, что присваивает наименьший доступный номер дескриптора файла, в то время как dup2
позволяет выбрать номер дескриптора файла, который будет назначен и атомарно закрыт и заменяет его, если он уже выполнен.
Также обратите внимание, что 'fcntl' с командой' F_DUPFD' ведет себя аналогично 'dup2', но не сжимает существующий fd, поэтому его можно безопасно использовать в поточных программах при попытке создать определенный номер fd, который еще не был выполнен. –
- 1. Может ли dup2 действительно вернуть EINTR?
- 2. Что действительно делают поля debug и packageName?
- 3. Что действительно делают git checkouts?
- 4. Rails: Что действительно делают ассоциации моделей?
- 5. Что делают операторы '& =' и '= &'?
- 6. Действительно ли функции действительно делают код эффективным?
- 7. Как делают системы блога?
- 8. Разница между dup и dup_x2
- 9. Что случилось с этим dup2 и трубами?
- 10. Что делают getresuid() и setresuid()?
- 11. Что делают // и || операторы делают в Perl?
- 12. Что делают HWSURFACE и DOUBLEBUF?
- 13. Что делают model.predict() и model.fit()?
- 14. C: dup и close-on-exec
- 15. Что означает `dup (?)` В TASM?
- 16. линукс dup2 и Printf
- 17. popen() вызов Linux, что делают эти строки?
- 18. dup() и cache flush
- 19. Что делают GenerateCorrelationId() и ValidateCorrelationId()?
- 20. Что делают помощники и helper_method?
- 21. Что делают «.subsurface()», «.convert_alpha()» и «%»?
- 22. Что делают ContextLoaderListener и RequestContextListener?
- 23. Что делают [[и]] в vim?
- 24. Что делают ncurses_def_shell_mode() и ncurses_def_prog_mode()?
- 25. Что делают `_dispatch_barrier_sync_f_invoke` и` _dispatch_barrier_sync_f_slow`?
- 26. Что делают эти методы?
- 27. Выбор файла вывода с помощью dup()
- 28. Как проверить, действительно ли переменная отвечает на: dup?
- 29. Что такое TestExecutionListeners, и что они делают?
- 30. Путаница с dup2(), exec() и трубами
Какую часть вы не понимаете после прочтения страниц руководства и поиска? –
Мне не удалось понять, как использовать в программировании и где использовать – user484457
Вы просмотрели http://stackoverflow.com/questions/1720535/practical-examples-use-dup-or-dup2 или http: // stackoverflow. com/вопросы/3918962/unix-c-dup2-question? – Zeke