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

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



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

<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> 
<chapter lang=ko> 
<!-- ÀÛ¼ºÀÚ : yundream             --> 
<!-- ÀÛ¼ºÀÏ : 2004/04/13           --> 
<!-- ¿¬¶ôó : yundream@joinc.co.kr -->  
 
<!-- ÇÔ¼ö À̸§À» ÀÔ·ÂÇÕ´Ï´Ù --> 
<title>setsid(2)</title> 
 
<!-- ÀÌ°Ç ÇÔ¼ö¿¡ ´ëÇÑ ´ë·«ÀûÀÎ ¼³¸íÀ̱¸¿ä --> 
<para> 
    ¼¼¼ÇÀ» ¸¸µé°í ÇÁ·Î¼¼½º ±×·ì¾ÆÀ̵ð(GID)¸¦ ¼³Á¤ÇÑ´Ù. 
</para> 
  
<!-- ¿©±â¿¡ ÇÔ¼öÀÇ °£´ÜÇÑ »ç¿ë¹ýÀÌ µé¾î°©´Ï´Ù --> 
<section> 
    <title>»ç¿ë¹ý</title> 
    <para> 
        <screen> 
#include <unistd.h> 
 
pid_t setsid(void); 
        </screen> 
    </para> 
</section> 
 
<!-- ¿©±â¿£ ÇÔ¼öÀÇ ÀÚ¼¼ÇÑ ¼³¸í ÀÌ µé¾î°©´Ï´Ù --> 
<section> 
    <title>¼³¸í</title> 
    <para> 
        ¸¸¾à setsid()¸¦ È£ÃâÇÏ´Â ÇÁ·Î¼¼½º°¡ ÇÁ·Î¼¼½º ±×·ìÀÇ ¸®´õ°¡ ¾Æ´Ï¶ó¸é  
        »õ·Î¿î ¼¼¼ÇÀ» »ý¼ºÇϰí ÇØ´ç ¼¼¼Ç¿¡ ´ëÇÑ ±×·ìÀÇ ¸®´õ°¡ µÇ¸ç, tty¸¦  
        Á¦¾îÇÒ ¼ö ¾ø°Ô µÈ´Ù. ÀÌ·¸°Ô setsid()¸¦ È£ÃâÇØ¼­ ¼¼¼ÇÀ» »ý¼ºÇ졒  
        ±×·ìÀÇ ¸®´õ°¡ µÇ¾ú´Ù¸é ¼¼¼Ç¾ÆÀ̵ð¿Í ±×·ì¾ÆÀ̵ð´Â ÇÁ·Î¼¼½º¾ÆÀ̵ð(PID)¿Í 
        µ¿ÀÏÇÏ°Ô µÈ´Ù. ÀÌÈÄ ÀÌ ÇÁ·Î¼¼½º¿¡¼­ »ý¼ºµÇ´Â ¸ðµç (ÀÚ½Ä)ÇÁ·Î¼¼½ºµéÀº  
        ÀÌ ¼¼¼Ç ¾ÆÀ̵ð¿Í ±×·ì¾ÆÀ̵𸦠°¡Áö°Ô µÈ´Ù.  
        <note> 
        <para> 
            ÇÁ·Î¼¼½º ±×·ìÀÇ ¸®´õ´Â ÀÚ½ÅÀÇ PID¿Í ±×·ì¾ÆÀ̵𰡠µ¿ÀÏÇÏ´Ù. 
            setsid()´Â ƯÈ÷ µ¥¸óÀ¸·Î ÀÛµ¿ÇÏ´Â ÇÁ·Î±×·¥À» ¸¸µé±â À§Çؼ­  
            ÁÖ¿äÇÏ°Ô »ç¿ëµÈ´Ù. ÀÌ·² °æ¿ì fork()ÈÄ ºÎ¸ðÇÁ·Î¼¼½º¸¦  
            Á¾·áÇϰí setsid()¸¦ È£ÃâÇÏ°Ô µÈ´Ù.  
        </para> 
        </note> 
    </para> 
</section> 
 
<!-- ÇÔ¼ö°¡ µÇµ¹·ÁÁÖ´Â °ªÀ̱¸¿ä --> 
<section> 
    <title>¹Ýȯ°ª</title> 
    <para> 
        È£ÃâÇÑ ÇÁ·Î¼¼½ºÀÇ ¼¼¼Ç ¾ÆÀ̵𸦠¸®ÅÏÇÑ´Ù. 
    </para> 
</section> 
 
<!-- ¿¡·¯°¡ ¹ß»ýÇßÀ»¶§ µÇµ¹·ÁÁÖ´Â °ªµéÀÔ´Ï´Ù --> 
<section> 
    <title>¿¡·¯</title> 
    <para> 
        ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì -1À» ¸®ÅÏÇÑ´Ù. ¿¡·¯´Â <emphasis>EPERM</emphasis>ÀÏ 
        °æ¿ì¿¡¸¸ ¹ß»ýÇÑ´Ù. ÀÌ ¿¡·¯´Â ÇÁ·Î¼¼½º°¡ ¾î¶² ÀÌÀ¯·Î ´Ù¸¥ ÇÁ·Î¼¼½º°¡  
        »ç¿ëÇÏ´Â PID¸¦ ¼¼¼Ç¾ÆÀ̵ð·Î »ç¿ëÇÏ·Á°í ÇÒ¶§ ¹ß»ýÇÑ´Ù.   
    </para> 
</section> 
 
<!-- ¸¶Áö¸·À¸·Î ¿¡Á¦ ÀÔ´Ï´Ù                                                 --> 
<!-- ¿©±â¿¡´Â ¿ÏÀüÇÑ ¿¹Á¦°¡ µé¾î°¡ Àִµ¥, ±»ÀÌ ¿ÏÀüÇÑ ¿¹Á¦¸¦ ¸¸µéÇÊ¿ä ¾øÀÌ --> 
<!-- ÄÚµå ÀϺκи¸ ÀÛ¼ºÇؼ­ ¿Ã·ÁÁּŵµ µË´Ï´Ù                               -->  
<!-- "<", ">", "&" µîÀº º¯È¯ÇØ ÁÖ¼Å¾ß Çϴµ¥, ±ÍÂúÀ¸½Ã¸é :-) º¯È¯ ÇÏÁö ¾Ê   --> 
<!-- ¾Æµµ µË´Ï´Ù. Á¦°¡ °Ë»ç ÇØ¼­ ¿Ã¸®°Ú½À´Ï´Ù                               --> 
<!-- ¿¹Á¦¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸íÀ» Àû¾îÁּŵµ µÇ±¸¿ä                            --> 
<section> 
    <title>¿¹Á¦</title> 
    <para> 
        <screen> 
#include <sys/types.h>  
#include <sys/stat.h>  
#include <stdio.h>  
#include <fcntl.h>  
 
int main() 
{ 
    pid_t   pid; 
 
    if (( pid = fork()) < 0) 
           exit(0); 
 
    // ºÎ¸ðÇÁ·Î¼¼½º¸¦ Á¾·áÇÑ´Ù.  
    else if(pid != 0) 
        exit(0); 
 
    // µ¥¸ó ÇÁ·Î±×·¥Àº »óÈ£´ëÈ­ÇÒ ÀÏÀÌ ¾øÀ¸¹Ç·Î  
    // Ç¥ÁØÀÔ/Ãâ/¿¡·¯¸¦ ´Ý´Â´Ù.  
    close(0);   
    close(1); 
    close(2); 
    // ¼¼¼ÇÀ» »ý¼ºÇÑ´Ù.  
    setsid();     
    // µ¥¸ó ÇÁ·Î±×·¥ÀÌ ½ÇÇàÇÒ Äڵ带 ÀÛ¼ºÇÑ´Ù. 
    while(1) 
    { 
    }      
} 
        </screen> 
        À§ÀÇ ÇÁ·Î±×·¥Àº setsid()¸¦ ÀÌ¿ëÇØ¼­ µ¥¸óÇÁ·Î±×·¥À» ¸¸µå´Â  
        ÀüÇüÀûÀÎ ¿¹Á¦´Ù. 
    </para> 
</section> 
<section> 
    <title>Âü°í¹®Çå</title> 
    <para> 
        <orderedlist> 
            <listitem> 
                <para> 
                    <ulink url="http://www.joinc.co.kr/modules/moniwiki/wiki.php/article_µ¥¸ó(daemon) ÇÁ·Î±×·¥¿¡ ´ëÇÑ ÀÌÇØ">µ¥¸óÇÁ·Î±×·¥¿¡ ´ëÇÑ ÀÌÇØ</ulink> 
                </para> 
            </listitem> 
            <listitem> 
                <para> 
                    <ulink url="http://www.joinc.co.kr/modules/moniwiki/wiki.php/Code_C_makedaemon">µ¥¸óÀÛ¼º ¿¹Á¦</ulink> 
                </para> 
            </listitem> 
        </orderedlist> 
    </para> 
</section> 
</chapter> 
 
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.