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:06:59 GMT, March 25, 2004