ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : article>ÆÄÀϰ´Ã¼¿Í ÆÄÀÏÁö½ÃÀÚ ºñ±³
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
FILE °´Ã¼¿Í ÆÄÀÏÁö½ÃÀÚ ¿ÍÀÇ Â÷ÀÌÁ¡..
½Ã½ºÅÛ ÇÁ·Î±×·¥ ÆÄÀϰü·Ã ÀÛ¾÷À» ÇÒ¶§, ¿ì¸®´Â int ÇüÀÇ ÆÄÀÏÁö½ÃÀÚ °ªÀ» µ¹·ÁÁÖ
´Â open °è¿ ÇÔ¼ö¿Í FILE °´Ã¼¸¦ µ¹·ÁÁÖ´Â fopen °è¿ÇÔ¼öÁß ÅÃÀÏ ÇÏ¿© »ç¿ëÇÑ´Ù.
À̹øÀå¿¡¼´Â fopen °è¿ ÇÔ¼ö¿Í open °è¿ ÇÔ¼ö¿ÍÀÇ Â÷ÀÌÁ¡ÀÌ ¹«¾ùÀ̰í, ¾î¶°ÇÑ
ÀåÁ¤°ú ´ÜÁ¡À» °¡Áö´ÂÁö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸µµ·Ï ÇϰڴÙ.
±âº»ÀûÀ¸·Î À¯´Ð½º¿¡¼´Â ¸ðµç °ÍÀ» ÆÄÀϷΠó¸®ÇѴٴ°Ϳ¡ ´ëÇØ»ç ¾Ë°í ÀÖÀ»
°ÍÀÌ´Ù.
ÀÌ´Â ¸ðµç Ç¥ÁØÀÔÃâ·Â Ç¥ÁØ¿¡·¯, ÆÄÀÏ, ¼ÒÄÏ¿¡µî¿¡µµ µ¿ÀÏÇÏ°Ô Àû¿ëµÈ´Ù.
´ÙÀ½Àº zipcodeÀÇ fork ¹öÁ¯À» 4444 ¹ø port ·Î ½ÇÇà½Ã۰í, zipcode ÀÇ ÇÁ·Î¼¼½º »óȲÀ» Ãâ·ÂÇÑ °á°ú ÀÌ´Ù. zipcode ÀÇ fork ¹öÁ¯Àº ´ÙÁß¿¬°á¼¹ö ¸¸µé±â (1)ÀÇ ¼¹öÇÁ·Î±×·¥ÀÌ´Ù.
Ç¥ÁØÀÔ·Â,Ãâ·Â,¿¡·¯´Â ÀÚ½ÅÀÇ Å͹̳ÎÀ» ¸µÅ©Çϰí ÀÖÀ¸¸ç ¿¸°ÆÄÀÏÀº ÆÄÀÏ, ¼ÒÄÏÀº °íÀ¯ÀÇ ¼ÒÄϹøÈ£¸¦ ¸µÅ©Çϰí ÀÖÀ½À» ¾Ë¼ö ÀÖ´Ù. INET(ÀÎÅͳÝ) ¼ÒÄÏÀÇ °æ¿ì¿¡´Â ¼ÒÄÏÅë½ÅÀ» À§Çؼ ÆÄÀÏÀ» »ý¼ºÇÏÁö ¾Ê°í Ä¿³Î¿¡¼ Á÷Á¢°ü¸® ÇϹǷÎ, INET ¼ÒÄÏÀÇ °æ¿ì ¸µÅ©°¡ ÆÄÀÏ·Î ¿¬°áµÇÁö ¾Ê°í, Ä¿³ÎÀÇ ¼ÒÄϰü¸® ¹øÈ£¿¡ ¿¬°áµÈ´Ù´Â Á¡À» ÁÖÀÇ ÇÏÀÚ Å×½ºÆ®µµ ÇÒ°â 0 ¹øÆÄÀÏ¿¡ ¾²±â¸¦ ÇѹøÇغ¸ÀÚ.
open °è¿ ¿ì¸®°¡ ÈçÈ÷ »ç¿ëÇÏ´Â open °è¿ÀÇ ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é ¹Ù·Î /proc/pid/fd ¹Ø¿¡ ÀÖ´Â ¸µÅ©ÆÄÀÏÀÇ À̸§À» int ÇüÀ¸·Î º¯È¯½ÃÄѼ µÇµ¹·ÁÁÖ¸ç, À̰ªÀ» ÀÌ¿ëÇØ¼ ¿ì¸®´Â ¿©·¯°¡Áö ÀÔÃâ·Â ÀÛ¾÷À» ÇÒ¼ö ÀÖ°Ô µÇ´Â°ÍÀÌ´Ù. ¸ðµç ÀÔÃâ·ÂÀ» ÆÄÀÏ·Î ÀϰüµÇ°Ô ó¸®ÇÒ¼ö ÀÖÀ¸¸ç, ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º¿Í /proc ÆÄÀÏÀÇ ÀÎÅÍÆäÀ̽º°¡ ¼·Î µ¿ÀÏÇÏ°Ô ¿¬°áµÇ¾î¼ »ç¿ëµÈ´Ù. ¸Å¿ì È¿À²ÀûÀÌ°í Æí¸®ÇÑ ÀÔÃâ·Âȯ°æÀ» Á¦°øÇØÁØ´Ù´Â°É ´À³¥¼ö ÀÖÀ»°ÍÀÌ´Ù. ÀÌó·³ open °è¿À» »ç¿ëÇÏ¸é °¢°¢ÀÇ ÀÔÃâ·Â ÆÄÀÏÀ» Á÷Á¢ ¿¢¼¼½º ÇÒ¼ö ÀÖÀ¸¹Ç·Î, Àú¼öÁØÀÇ ÀÛ¾÷, ¿¹¸¦µé¸é select, polling, ÆÄÀÏÀá±Ý, ·¹ÄÚµåÀá±Ý, ÆÄÀϼӼºº¯°æµîÀÇ ÆÄÀÏÀ» ´Ù·ç±â À§ÇÑ ¼¼¼¼ÇÑ ÀϵéÀ» ÇÒ¼ö ÀÖ´Â ÀåÁ¡À» ¾ò°Ô µÈ´Ù. ¹Ý¸é ´ÜÁ¡À» °¡Áö´Âµ¥, Àú¼öÁØÀ¸·Î ÆÄÀÏÀ» ´Ù·ç´Ù º¸´Ï °£´ÜÇÑ ÀÏÀ» Çұ⿡´Â ³Ê¹« ÀܼÕÀÌ ¸¹ÀÌ °£´Ù¶ó´Â Á¡ÀÌ´Ù. °£´ÜÇÑ ÇàÀÔ·ÂÀ» ¹Þ´Â ÇÁ·Î±×·¥À» ¸¸µç´Ù°í »ý°¢Çغ¸ÀÚ, open À» »ç¿ëÇÏ°Ô µÇ¸é °³Ç๮ÀÚ °Ë»ç¸¦ À§Çؼ ÀԷ¹ÞÀº ¹®ÀÚ¸¦ ¹ÙÀÌÆ®´ÜÀ§·Î ºñ±³¸¦ ÇØÁÖ´Â ¼ö°í½º·¯¿òÀ» °¨¼öÇØ¾ß Çϸç, º°µµ·Î ¹öÆÛ °ü¸®¸¦ ÇØÁÖ¾î¾ß ÇÒ°ÍÀÌ´Ù. fopen °è¿ ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ(¹Ýµå½Ã À§ÀÇ ¹®Á¦¶§¹®¿¡ ³ª¿Â°Í ¸¸Àº ¾Æ´ÏÁö¸¸), f°è¿ ÀÇ Á»´õ °í¼öÁØÀÇ ÇÔ¼öµéÀ» Á¦°øÇÑ´Ù. f °è¿ÇÔ¼öµéÀº ÆÄÀÏÀ» "FILE" °´Ã¼¸¦ ÀÌ¿ë ÇØ¼ ´Ù·ç°Ô µÈ´Ù. FILE °´Ã¼´Â fopen ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ÆÄÀÏ¿±â¿¡ ¼º°øÇßÀ»¶§ µ¹·ÁÁÖ°Ô µÇ´Âµ¥, /usr/include/stdio.h ¸¦ ¿¾îº¸¸é ´ÙÀ½°ú °°ÀÌ ¼±¾ðµÇ¾î ÀÖ´Ù.
°á·ÐÀûÀ¸·Î ÆÄÀÏÀ» °´Ã¼·Î ´Ù·ç°Ô µÊÀ¸·Î ÀܼÕÁúÀ» ´ú¼ö ÀÖ°Ô µÈ´Ù. ¾Æ·¡ÀÇ ¿¹Á¦Äڵ带 º¸ÀÚ ¿¹Á¦ : fopen.c
FILE °ú ÆÄÀÏÁö½ÃÀÚ »çÀÌÀÇ È£È¯ ÃÖÃÊ¿¡ Àú¼öÁØÀ¸·Î ÆÄÀÏÀ» ´Ù·êÇʿ䰡 ÀÖ¾î¼ open À» ½è´õ¶óµµ, °í¼öÁØÀÇ f °è¿ ÇÔ¼ö¸¦ ¾²°í ½ÍÀ»¶§°¡ ÀÖÀ»°ÍÀÌ´Ù. ¶Ç´Â ±× ¹Ý´ëÀÇ °æ¿ìµµ ÀÖÀ»¼ö Àִµ¥, ´ç¿¬È÷ ÀÌ¿¡ ´ëÇÑ ÇØ¹ýµµ Á¸ÀçÇÑ´Ù. µÑÀÇ È£È¯ÀÇ ¹æ¹ýÀ» »ý°¢Çغ¸¸é, ÃÖÃÊ¿¡ open À» ÅëÇØ¼ ÆÄÀÏÀ» ¿¾ú´õ¶óµµ, FILE °´Ã¼ÀÇ ±¸¼º¿ä¼Ò¸¦ ÀüºÎü¿öÁÖ°í ¿©±â¿¡ ¿©°á½ÃŰ¸é µÉ°ÍÀ̸ç, fopen À» ÅëÇØ¼ FILE °´Ã¼·Î ¹Þ¾Ò´Ù ÇÏ´õ¶óµµ FILE °´Ã¼ ±¸Á¶Ã¼¿¡ ¾îÂ÷ÇÇ ÆÄÀÏÁö½ÃÀÚ°¡ ÀÖÀ¸¹Ç·Î, ÀÌ °ªÀ» ÀÌ¿ëÇØ¼ Àú¼öÁØÀÇ ÀÛ¾÷À» Çϴµ¥ »ç¿ëÇÏ¸é µÉ°ÍÀÌ´Ù. ÀÌ·¯ÇÑ »óÈ£ ȣȯÀ» À§Çؼ º°µµÀÇ ÇÔ¼ö°¡ Á¸ÀçÇÑ´Ù. fdopen(3)°ú fileno(3) °¡ ±×°ÍÀ¸·Î fdopen °¡ ÆÄÀÏÁö½ÃÀÚ¸¦ ¹Þ¾Æ¼ FILE °´Ã¼¸¦ µÇµ¹·ÁÁÖ´Â ÇÔ¼öÀ̰í, fileno °¡ FILE °´Ã¼¸¦ ¹Þ¾Æ¼ ÆÄÀÏÁö½ÃÀÚ¸¦ µ¹·Á¹Þ´Â ÇÔ¼ö ÀÌ´Ù. ¾Æ·¡´Â fdopen ÀÇ °£´ÜÇÑ ¿¹ÀÌ´Ù. ¿¹Á¦ : fdopen.c
ÀÌ»ó FILE °´Ã¼¿Í ÆÄÀÏÁö½ÃÀÚ ¿ÍÀÇ Â÷ÀÌÁ¡..¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò½À´Ï´Ù. ±Ã±ÝÇѰųª À߸øµÈÁ¡ ÀÖ´Ù¸é ´ñ±ÛÀ» ³²°ÜÁֽøé, ¼º½É¼ºÀDz¯ ´äº¯µå¸®µµ·Ï ÇϰڽÀ´Ï´Ù. |
|
||||||
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|