dup(2)
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : docbook>dup(2)



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
HTML º¯È¯¹®¼­

<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> 
<chapter lang=ko> 
<!-- ÀÛ¼ºÀÚ : yundream             --> 
<!-- ÀÛ¼ºÀÏ : 2002/02/18           --> 
<!-- ¿¬¶ôó : dreamyun@yahoo.co.kr --> 
 
<!-- ÇÔ¼ö À̸§À» ÀÔ·ÂÇÕ´Ï´Ù --> 
<title>dup(2)</title> 
 
<!-- ÀÌ°Ç ÇÔ¼ö¿¡ ´ëÇÑ ´ë·«ÀûÀÎ ¼³¸íÀ̱¸¿ä --> 
<para> 
    ÆÄÀÏ ÁöÁ¤ÀÚ¸¦ º¹»çÇÑ´Ù.  
</para> 
  
<!-- ¿©±â¿¡ ÇÔ¼öÀÇ °£´ÜÇÑ »ç¿ë¹ýÀÌ µé¾î°©´Ï´Ù --> 
<section> 
    <title>»ç¿ë¹ý</title> 
    <para> 
        <screen> 
#include <unistd.h> 
 
int dup(int oldfd); 
int dup2(int oldfd, int newfd); 
        </screen> 
    </para> 
</section> 
 
<!-- ¿©±â¿£ ÇÔ¼öÀÇ ÀÚ¼¼ÇÑ ¼³¸í ÀÌ µé¾î°©´Ï´Ù --> 
<section> 
    <title>¼³¸í</title> 
    <para> 
        dup()¿Í dup2()´Â ÆÄÀÏ ÁöÁ¤ÀÚ <emphasis>oldfd</emphasis>¿¡ ´ëÇÑ º¹»çº»À»  
        »ý¼ºÇÑ´Ù. ¼º°øÀûÀ¸·Î ¼öÇàµÉ°æ¿ì oldfd ÁöÁ¤ÀÚ¿¡ ´ëÇÑ º¹»çº»Àº  
        ¼­·Î °øÀ¯µÇ¾î¼­ »ç¿ëµÈ´Ù. Áï lock, ÆÄÀÏÀ§Ä¡ Æ÷ÀÎÅÍ, Ç÷¡±×µîÀ»  
        °øÀ¯ÇÑ´Ù. ¸¸¾à ¿øº» ÆÄÀÏÁöÁ¤ÀÚ ¿¡¼­ À§Ä¡º¯°æÀÌ ÀÏ¾î ³µ´Ù¸é,  
        ´Ù¸¥ º¹»çµÈ ÆÄÀÏÁöÁ¤ÀÚ¿¡µµ ¿µÇâÀ» ¹ÌÄ£´Ù.   
    </para> 
    <para> 
        ±×·¯³ª ÀÌ µÎ°³ÀÇ ÆÄÀÏÁöÁ¤ÀÚ°£ close-on-exe Ç÷¡±×´Â °øÀ¯µÇÁö  
        ¾Ê´Â´Ù.  
    </para> 
    <para> 
        dup()¸¦ ÀÌ¿ëÇØ¼­ º¹»çµÇ¾îÁö´Â »õ·Î¿î ÆÄÀÏ ÁöÁ¤ÀÚ´Â »ç¿ëµÇÁö ¾Ê´Â  
        °¡Àå ÀÛÀº ÆÄÀÏ ÁöÁ¤ÀÚ¸¦ ÀÌ¿ëÇÑ´Ù. dup2()´Â µð½ºÅ©¸³ÅÍ´Â ÆÄÀÏ ÁöÁ¤ÀÚ¸¦  
        ÁöÁ¤ÇÒ ¼ö Àִµ¥, ÀÌÀü¿¡ ¿­¸° <emphasis>newfd</emphasis>°¡ ÀÖ´Ù¸é  
        ´Ý°í ³ª¼­, <emphasis>oldfd</emphasis>¸¦  
        <emphasis>newfd</emphasis>¿¡ º¹»çÇÏ¸é µÈ´Ù.  
    </para> 
</section> 
 
<!-- ÇÔ¼ö°¡ µÇµ¹·ÁÁÖ´Â °ªÀ̱¸¿ä --> 
<section> 
    <title>¹Ýȯ°ª</title> 
    <para> 
        º¹»çµÈ »õ·Î¿î ÆÄÀÏÁöÁ¤ÀÚ¸¦ ¸®ÅÏÇÑ´Ù. ¿¡·¯°¡ ¹ß»ýÇϸé -1 À» ¸®ÅÏÇÑ´Ù.  
    </para> 
</section> 
 
<!-- ¿¡·¯°¡ ¹ß»ýÇßÀ»¶§ µÇµ¹·ÁÁÖ´Â °ªµéÀÔ´Ï´Ù --> 
<section> 
    <title>¿¡·¯</title> 
    <para> 
        <variablelist>     
            <varlistentry> 
            <term>EBADF</term>     
            <listitem> 
                <para>     
                    oldfd °¡ ¿­¸° ÆÄÀÏ ÁöÁ¤ÀÚ°¡ ¾Æ´Ò°æ¿ì  
                </para>     
            </listitem> 
            </varlistentry> 
 
            <varlistentry> 
            <term>EMFILE</term> 
            <listitem> 
                <para> 
                    ÇÁ·Î¼¼½º°¡ ÃÖ´ë·Î ¿­¼ö ÀÖ´Â ÆÄÀÏ ÁöÁ¤ÀÚ  
                    °¹¼ö¸¦ °¡Áø »óÅ¿¡¼­ »õ·Î¿î ÆÄÀÏÁöÁ¤ÀÚ¸¦ ¾ò°íÀÚ  
                    ½ÃµµÇÏ´Â °æ¿ì  
                </para> 
            </listitem> 
            </varlistentry> 
        </variablelist>     
    </para> 
</section> 
 
<!-- ¸¶Áö¸·À¸·Î ¿¡Á¦ ÀÔ´Ï´Ù                                                 --> 
<!-- ¿©±â¿¡´Â ¿ÏÀüÇÑ ¿¹Á¦°¡ µé¾î°¡ Àִµ¥, ±»ÀÌ ¿ÏÀüÇÑ ¿¹Á¦¸¦ ¸¸µéÇÊ¿ä ¾øÀÌ --> 
<!-- ÄÚµå ÀϺκи¸ ÀÛ¼ºÇؼ­ ¿Ã·ÁÁּŵµ µË´Ï´Ù                               -->  
<!-- "<", ">", "&" µîÀº º¯È¯ÇØ ÁÖ¼Å¾ß Çϴµ¥, ±ÍÂúÀ¸½Ã¸é :-) º¯È¯ ÇÏÁö ¾Ê   --> 
<!-- ¾Æµµ µË´Ï´Ù. Á¦°¡ °Ë»ç ÇØ¼­ ¿Ã¸®°Ú½À´Ï´Ù                               --> 
<!-- ¿¹Á¦¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸íÀ» Àû¾îÁּŵµ µÇ±¸¿ä                            --> 
<section> 
    <title>¿¹Á¦</title> 
    <para> 
        <screen> 
#include <unistd.h> 
#include <sys/types.h> 
#include <sys/stat.h> 
#include <fcntl.h> 
 
int main() 
{ 
    int fd, fd2; 
    char buf[80]; 
 
    fd = open("dup.c", O_RDONLY); 
    fd2 = dup(fd); 
    printf("%d = %d\n", fd, fd2); 
 
    memset(buf, 0x00, 80); 
    read(fd, buf, 20); 
    printf("fd : %d\n%s\n", fd, buf); 
 
    memset(buf, 0x00, 80); 
    read(fd2, buf, 20); 
    printf("fd : %d\n%s\n", fd2, buf); 
 
    close(fd); 
} 
        </screen> 
    </para> 
</section> 
 
<section> 
    <title>Âü°í¹®Çå</title>     
    <para> 
        <orderedlist> 
            <listitem> 
                <para> 
                    <ulink url="http://www.joinc.co.kr/modules.php?name=News&file=article&sid=85">dup Ȱ¿ë</ulink> 
                </para> 
            </listitem> 
        </orderedlist> 
    </para> 
</section> 
</chapter> 
 
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.