DUP

Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (2)
Updated: 1994³â 8¿ù 21ÀÏ
Index
Return to Main Contents
 

À̸§

dup, dup2 - ÆÄÀÏ µð½ºÅ©¸³Å͸¦ º¹»çÇÑ´Ù.  

»ç¿ë¹ý

#include <unistd.h>

int dup(int oldfd);
int dup2(int oldfd, int newfd);
 

¼³¸í

dup ±×¸®°í dup2´Â ÆÄÀÏ µð½ºÅ©¸³ÅÍ oldfd¿¡ ´ëÇÑ º¹»çº»À» »ý¼ºÇÑ´Ù.

dup ¶Ç´Â dup2°¡ ¼º°øÀûÀ¸·Î ¼öÇàµÇ¸é, oldfd µð½ºÅ©¸³ÅÍ¿Í º¹»çµÈ »õ·Î¿î µð½ºÅ©¸³ÅÍ´Â ¼­·Î °øÀ¯µÇ¾î »ç¿ëµÉ °ÍÀÌ´Ù. ÀÌ µð½ºÅ©¸³Å͵éÀº ¶ô(lock), ÆÄÀÏ À§Ä¡ Æ÷ÀÎÅÍ ±×¸®°í Ç÷¡±×¸¦ °øÀ¯ÇÑ´Ù; ¿¹¸¦ µé¾î, ¸¸¾à ÆÄÀÏ À§Ä¡°¡ ÇÑ µð½ºÅ©¸³ÅÍ¿¡¼­ lseek¸¦ »ç¿ëÇØ º¯°æµÇ¸é ÀÌ º¯°æµÈ À§Ä¡´Â ´Ù¸¥ µð½ºÅ©¸³ÅÍ¿¡µµ ¿µÇâÀ» ¹ÌÄ£´Ù.

±×·¯³ª ÀÌ µÎ µð½ºÅ©¸³ÅÍ´Â close-on-exec Ç÷¡±×´Â °øÀ¯ÇÏÁö ¾Ê´Â´Ù.

dup´Â º¹»çµÇ¾îÁú »õ·Î¿î µð½ºÅ©¸³ÅÍ·Î, »ç¿ëµÇÁö ¾Ê´Â °¡Àå ÀÛÀº µð½ºÅ©¸³ÅÍ ¹øÈ£¸¦ ÀÌ¿ëÇÑ´Ù.

dup2´Â ÇÊ¿äÇÏ´Ù¸é ¸ÕÀú newfd¸¦ ´Ý°í, oldfd¸¦ newfd ¿¡ º¹»çÇÑ´Ù.  

¹Ýȯ°ª

dup ±×¸®°í dup2 ´Â º¹»çµÈ »õ·Î¿î µð½ºÅ©¸³Å͸¦ ¸®ÅÏÇÏ´Ù. ¶Ç´Â ¿¡·¯ (errno °ªÀ» ÀûÀýÇÏ°Ô ¼³Á¤ÇÑ´Ù) °¡ ¹ß»ýÇÑ °æ¿ì¿¡´Â -1À» ¸®ÅÏÇÑ´Ù.  

¿¡·¯

EBADF
oldfdÀÌ ¿­¸° ÆÄÀÏ µð½ºÅ©¸³ÅÍ°¡ ¾Æ´Ï°Å³ª, newfd°¡ ÆÄÀÏ µð½ºÅ©¸³ÅÍÀÇ Çã¿ëµÈ ¹üÀ§¸¦ ³Ñ¾î¼± °æ¿ìÀÌ´Ù.
EMFILE
ÇÁ·Î¼¼½º°¡ ÀÌ¹Ì ÃÖ´ë·Î ¿­ ¼öÀÖ´Â ÆÄÀÏ µð½ºÅ©¸³ÅÍÀÇ °¹¼ö¸¦ °¡Áø »óÅ¿¡¼­ »õ·Î¿î ÆÄÀÏ µð½ºÅ©¸³Å͸¦ ¿­°íÀÚ ½ÃµµÇÑ °æ¿ìÀÌ´Ù.
 

°æ°í

newfd°¡ Çã¿ë °¡´ÉÇÑ ¹üÀ§ ¹ÛÀÇ °ªÀÏ ¶§, dup2¿¡ ÀÇÇØ ¸®ÅÏµÈ ¿¡·¯°ªÀº fcntl(..., F_DUPFD, ...)¿¡ ÀÇÇØ ¸®ÅÏµÈ ¿¡·¯°ª°ú´Â ´Ù¸£´Ù. ¾î¶² ½Ã½ºÅÛ¿¡¼­´Â dup2°¡ F_DUPFD¿Í °°Àº EINVALÀ» ¸®ÅÏÇϱ⵵ ÇÑ´Ù.  

ȣȯ

SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4¿¡¼­´Â Ãß°¡ÀûÀ¸·Î EINTR¿Í ENOLINK ¿¡·¯ »óŸ¦ ±â¼úÇÏ°í ÀÖ´Ù. POSIX.1´Â EINTRÀ» Ãß°¡Çß´Ù.  

°ü·Ã Ç׸ñ

fcntl(2), open(2), close(2).  

¿ªÀÚ

Á¤µ¿Çö <dhjung@serome.co.kr>, 2000³â 4¿ù 20ÀÏ


 

Index

À̸§
»ç¿ë¹ý
¼³¸í
¹Ýȯ°ª
¿¡·¯
°æ°í
ȣȯ
°ü·Ã Ç׸ñ
¿ªÀÚ

This document was created by man2html, using the manual pages.
Time: 08:07:00 GMT, March 25, 2004