ÃÑ ÆäÀÌÁö ¼ö : 3224
![]()
|
Facebook Joinc ±×·ì
Joinc QA »çÀÌÆ®
![]()
Tweet
joinc´Â Firefox¿Í chrome¿¡¼ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.
1절. ¼Ò°³À̹ø¿¡´Â ÇÁ·Î¼¼½º°¡ Á¤»óÀûÀ¸·Î ÀÛµ¿Çϰí ÀÖ´ÂÁö ±×·¸Áö ¾ÊÀºÁö¸¦ °Ë»çÇÏ´Â ÇÁ·Î¼¼½º °ü¸®±â¸¦ ÀÛ¼ºÇغ¸µµ·Ï ÇÒ°ÍÀÌ´Ù. ÀÌ °ü¸® ÇÁ·Î±×·¥Àº ¼Ö¶ó¸®½º¿Í ¸®´ª½º¿¡¼ ÄÚµùµÇ°í Å×½ºÆ® µÉ°ÍÀÌ´Ù. ¼Ö¸®¸®½º¿Í Linux ¸¦ ¼±ÅÃÇÑ ÀÌÀ¯´Â ÇÊÀÚ°¡ ½±°Ô Á¢±ÙÇÒ¼ö ÀÖ´Â OS À̱⠶§¹®ÀÌ´Ù. Ȥ½Ã¶óµµ ´Ù¸¥ Unix OS ¿¡ Á¢±ÙÇÒ¼ö ÀÖ´Â ±âȸ°¡ »ý±ä´Ù¸é, ´Ù¸¥ ±âŸ Unix ¿¡¼ÀÇ ÇÁ·Î¼¼½º °ü¸® ¹æ¹ý¿¡ ´ëÇØ¼ °Á¸¦ ¸¸µé¾î º¸µµ·Ï ÇϰڴÙ. 2절. ÇÁ·Î¼¼½º °ü¸®±â2.1절. ÇÁ·Î¼¼½º °ü¸®±â ¶õ?¿ì¸®°¡ °ü¸®ÇÏ´Â ½Ã½ºÅÛ¿¡´Â ¼ö¸¹Àº ÇÁ·Î¼¼½º°¡ ÀÛµ¿Çϰí ÀÖÀ»°ÍÀÌ´Ù. ÀÌÁß ¾î¶² ÇÁ·Î¼¼½º´Â ¸Å¿ì Áß¿äÇØ¼ Á×À¸¸é ¾ÈµÇ´Â ±×·± ÇÁ·Î¼¼½º°¡ ÀÖÀ» °ÍÀ̸ç, ¸¸¾à ÀÌ·± Áß¿ä ÇÁ·Î¼¼½º°¡ ÀÛµ¿À» ÁßÁö Çß´Ù¸é ÀÛµ¿ÀÌ ÁßÁöµÇ¾úÀ½À» °ü¸®ÀÚ°¡ ÀÎÁöÇÒ¼ö ÀÖµµ·Ï ½ÅÈ£¸¦ º¸³»ÁÖ´Â ¶Ç´Ù¸¥ ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù. ÀÌ ÇÁ·Î±×·¥Àº °ü¸®ÇؾߵǴ Áß¿ä ÇÁ·Î¼¼½º¸¦ Áö¼ÓÀûÀ¸·Î ¸ð´ÏÅ͸µ Çϰí ÀÖ´Ù°¡ ¹®Á¦°¡ »ý±æ°æ¿ì ¿©·¯°¡Áö ¹æ¹ýÀ¸·Î °ü¸®ÀÚ¿¡°Ô Åëº¸ÇØ¾ß ÇÒ°ÍÀÌ´Ù. Å뺸 ¹æ¹ýÀ¸·Î´Â °¡Àå ³Î¸® ¾²Àϸ¸ÇÑ °ÍÀº TCP/IP ¼ÒÄÏ Åë½ÅÀ» ÀÌ¿ëÇÑ °ü¸®ÀÚ ÇÁ·Î±×·¥À¸·ÎÀÇ alert Àü¼ÛÀÌ ¾Æ¸¶ °¡Àå À¯¿ëÇÒ°ÍÀÌ´Ù. ÀÌ´Â ´ëºÎºÐÀÇ °æ¿ì °ü¸®ÀÚ¿Í °ü¸®ÇØ¾ßµÉ ÇÁ·Î¼¼½º¸¦ °¡µ¿ÁßÀÎ ½Ã½ºÅÛÀÌ ¿ø°ÝÀ¸·Î ¶³¾îÁ® Àֱ⠶§¹®ÀÏ °ÍÀÌ´Ù. 2.2절. ÇÁ·Î¼¼½º °ü¸®ÀÇ ¹æ¹ý±âº»ÀûÀ¸·Î /proc ÆÄÀϽýºÅÛÀÇ Á¤º¸¸¦ ÀÌ¿ëÇÑ´Ù. /proc Àº ÇÁ·Î¼¼½ºÀÇ Á¤º¸¸¦ °¡Áö°í ÀÖ´Â Àӽà ÆÄÀÏ ½Ã½ºÅÛ(process information pseudo-filesystem) À¸·Î½á ¸ðµç ½ÇÇàÁßÀÎ ÇÁ·Î¼¼½ºÀÇ ÀÚ¼¼ÇÑ Á¤º¸¸¦ °¡Áø´Ù. ´ëºÎºÐÀÇ Unix ½Ã½ºÅÛµéÀÌ /proc ÆÄÀϽýºÅÛÀ» äÅÃÇϰí Àִµ¥, /proc ÆÄÀϽýºÅÛÀ» ºÐ¼®ÇÔÀ¸·Î½á, ¾î¶² ÇÁ·Î¼¼½º°¡ ¾î¶²»óÅ·Π½ÇÇàµÇ°í ÀÖÀ¸¸ç, ¾î¶² ÇÁ·Î±×·¥À» ½ÇÇàÇß´ÂÁö, ¾î¶² ÆÄÀÏÀ» open Çϰí ÀÖ´ÂÁö, ¸Þ¸ð¸® »ç¿ëÀº ¾î¶°ÇÑÁö.. µîµî ÇÁ·Î¼¼½ºÀÇ ¸ðµç Á¤º¸¸¦ ¾Ë¾Æ³¾¼ö ÀÖ´Ù. ÇÁ·Î¼¼½º °ü¸®ÀÇ ¹æ¹ýÀº °£´ÜÇÏ´Ù. /proc ÆÄÀϽýºÅÛÀ» Á¶»çÇØ¼ °ü½ÉÀÖ¾î ÇÏ´Â ÇÁ·Î¼¼½º°¡ Á¦´ë·Î ÀÛµ¿Çϰí ÀÖ´ÂÁö È®ÀÎÇÏ¸é µÇ´Â °ÍÀÌ´Ù. 2.3절. ¸¸µé°íÀÚ ÇÏ´Â ÇÁ·Î±×·¥¿¡ ´ëÇØ¼ÇÁ·Î¼¼½º°ü¸®¶ó´Â ÁÖÁ¦ ÀÚü°¡ ³Ê¹« ±¤¹üÀ§ ÇϹǷÎ, ¹üÀ§¸¦ Á» ÁÙÀ̵µ·Ï ÇϰڴÙ. ÀÓÀÇÀÇ ÇÁ·Î¼¼½º¸¦ °ü¸®ÇÏ´Â ¹æ½ÄÀÌ ¾Æ´Ñ ƯÁ¤ÇÑ ÇÁ·Î¼¼½º¸¦ °ü¸®ÇÏ´Â ¹æ½ÄÀ» äÅÃÇϵµ·Ï ÇÒ°ÍÀÌ´Ù. ¿ì¸®´Â ÀÌÀü¿¡ PIPE ÀÀ¿ë ¿¡¼ fork&exec ±â¹ýÀ¸·Î sub ÇÁ·Î±×·¥À» ÀÚµ¿À¸·Î ½ÇÇà½ÃŰ´Â ÇÁ·Î±×·¥À» ÀÛ¼ºÇß¾ú´Ù. ¿ì¸®´Â ±âÁ¸ÀÇ ÇÁ·Î±×·¥À» ¾à°£ ¼öÁ¤Çؼ »ý¼ºµÈ sub ÇÁ·Î±×·¥ÀÇ °ü¸®±îÁö °¡´ÉÇϵµ·Ï ÇÒ°ÍÀÌ´Ù. 2.3.1절. ÇÁ·Î¼¼½º
2.3.2절. ÄÚµù¾Æ·¡ÀÇ ÇÁ·Î±×·¥ÀÇ À̸§Àº proc_m.cc ·Î Çϵµ·Ï ÇÏÀÚ. ÄÚµå´Â ¼öÇà°¡´ÉÇÑ »óÅ·Π¸¸µå´Âµ¥¿¡ ÁßÁ¡À» µÎ¾úÀ¸¸ç, ¾Æ¸§´Ù¿î Äڵ带 ¸¸µé±â À§ÇÑ ºÎ°¡ÀûÀÎ ÀÛ¾÷¿¡´Â ½Å°æÀ» ¾²Áö ¾Ê¾Ò´Ù. ¾Æ·¡ÀÇ ÇÁ·Î±×·¥À» º¸±âÀü¿¡ ¹Ýµå½Ã PIPE ÀÀ¿ë À» ¸ÕÀú Àо±â ¹Ù¶õ´Ù. ¿¹Á¦ : proc_m.cc
°¢ ½ÇÇàÇÁ·Î±×·¥ÀÇ ÇÁ·Î¼¼½º Á¤º¸´Â /proc ÀÇ ÀÚ½ÅÀÇ PID ¸¦ À̸§À¸·Î ÇÏ´Â µð·ºÅ丮 ¹Ø¿¡ ÀúÀåµÈ´Ù. ¿¹¸¦µé¾î PID À̸§ÀÌ 1660 ÀÌ¿´´Ù¸é PID 1660 ¿¡ ´ëÇÑ ÇÁ·Î¼¼½º Á¤º¸´Â /proc/1660 ¾Æ·¡¿¡ ÀúÀåµÇ°Ô µÈ´Ù. /proc/pid µð·ºÅ丮 ¹Ø¿¡ º¸¸é exe ¶ó´Â ½Éº¼¸¯ ¸µÅ©µÈ ÆÄÀÏÀÌ Çϳª Á¸ÀçÇϴµ¥ À̰ÍÀÌ ¹Ù·Î ÇØ´ç PID ¿¡ ´ëÇÑ ½ÇÇà¸í·É À̸§À̵ȴÙ. ±×·¯¹Ç·Î ¿ì¸®´Â ÃÖÃÊ¿¡ ÇÁ·Î±×·¥À» ½ÇÇà½Ãų¶§ ÇÁ·Î±×·¥ÀÇ PID ¹øÈ£¿Í ½ÇÇàÇÁ·Î±×·¥ÀÇ À̸§À» ¾È´Ù¸é, /proc/pid/exe ÆÄÀÏÀ» Á¶»çÇÔÀ¸·Î½á, ÇÁ·Î¼¼½º°¡ Á¦´ë·Î ½ÇÇàµÇ°í ÀÖ´ÂÁö¸¦ °¨½ÃÇÒ¼ö ÀÖ°Ô µÈ´Ù. 2.3.3절. Å×½ºÆ®ÀÌ ÇÁ·Î±×·¥À» ½ÇÇà½ÃŰ¸é ¾Æ·¡¿Í °°Àº °á°ú¸¦ º¸¿©ÁÙ°ÍÀÌ´Ù.
2.3.4절. °á°ú¿¡ ´ëÇÑ ºÐ¼®À§ÀÇ ÇÁ·Î±×·¥Àº ƯÁ¤»óȲ¿¡¼ /proc ÆÄÀϽýºÅÛÀ» ÀÌ¿ëÇØ¼ ¾î¶»°Ô ÇÁ·Î¼¼½ºÀÇ °ü¸®°¡ °¡´ÉÇÑÁö¿¡ ´ëÇÑ ¸ð½ÀÀ» º¸¿©ÁÖ°í ÀÖ´Ù. ºñ·Ï ƯÁ¤»óȲÀ̱ä ÇÏÁö¸¸, ±âº»ÀûÀÎ ¹æ¹ý¸¸ ¾È´Ù¸é ¾à°£ÀÇ ÀÀ¿ëÀ» ÅëÇÏ¿© Æø³ÐÀº »ç¿ëÀÌ °¡´ÉÇÒ°ÍÀÌ´Ù. À§ÀÇ ÇÁ·Î±×·¥À» ¼¹ö/Ŭ¶óÀÌ¾ðÆ® ¸ðµ¨·Î ¸¸µé¾î¼ ¹®Á¦ »óȲÀ» ¼¹ö·Î Àü¼ÛÇÒ¼ö ÀÖ°Ô ¸¸µé¸é ÀÌ ÀÚü°¡ Á¶±×¸¶ÇÑ SMS(½Ã½ºÅÛ °ü¸®ÇÏ´Â ¼ÒÇÁÆ®¿þ¾î) ÀÖ´Ù. ¶ÇÇÑ ¸¶À½¸¸ ¸Ô´Â´Ù¸é ps ¿Í °°Àº Àüü ÇÁ·Î¼¼½º¸¦ °ü¸®ÇÒ¼ö ÀÖ´Â ÇÁ·Î±×·¥ÀÇ Á¦ÀÛµµ °¡´ÉÇÏ´Ù. ÀÌ·¸°ÔµÈ´Ù¸é ¸¹Àº ±â´ÉÀ» Æ÷ÇÔÇϰí ÀÖ´Â SMS ÇÁ·Î±×·¥ÀÇ ÀÛ¼ºµµ °¡´ÉÇÒ°ÍÀÌ´Ù. ¿©±â¿¡¼´Â ¼³¸íÇÏÁö ¾Ê°í ÀÖÁö¸¸ /proc/pid ¹ØÀÇ ÆÄÀÏÀ» ºÐ¼®Çϸé ÇØ´ç ÇÁ·Î¼¼½ºÀÇ È¯°æº¯¼ö, ¸Þ¸ð¸® »ç¿ë·®, cpu »ç¿ëÀ², process »óÅÂ(Á»ºñ, sleep, run), ºÎ¸ð PID µîÀÇ ¾ÆÁÖ »ó¼¼ÇÑ ÇÁ·Î¼¼½º Á¤º¸¸¦ °¡Á®¿Ã¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ·¯ÇÑ »ó¼¼ÇÑ Á¤º¸´Â man proc ¸¦ Âü°íÇϱ⠹ٶõ´Ù. 2.4절. ¼Ö¶ó¸®½º¿¡¼ÀÇ ÀÀ¿ë¸®´ª½ºÀÇ /proc ½Ã½ºÅÛÀ» º¸¸é ¸ðµç Á¤º¸°¡ text ÇüÅ·ΠÀúÀåµÇ¾î ÀÖÀ½À» ¾Ë¼ö ÀÖÀ»°ÍÀÌ´Ù. ±×·¯¹Ç·Î ¸®´ª½º¿¡¼ ÇÊ¿äÇÑ ÇÁ·Î¼¼½º Á¤º¸¸¦ ¾Ë¾Æ³»°í ½Í´Ù¸é, Á¤º¸¸¦ °¡Áö°í ÀÖ´Â ÆÄÀÏÀ» open ÇÑ´ÙÀ½¿¡ À̸¦ ÆÄ½ÌÇϱ⸸ ÇÏ¸é µÈ´Ù. ±×·¯³ª ¼Ö¶ó¸®½ºÀÇ °æ¿ì¿¡´Â ÇÁ·Î¼¼½º Á¤º¸°¡ text °¡ ¾Æ´Ñ ±¸Á¶Ã¼ Çü½ÄÀ¸·Î ÀúÀåµÈ´Ù. ±×·¯¹Ç·Î ÇØ´ç Á¤º¸¸¦ ÀоîµéÀ̱â À§Çؼ´Â ÇØ´ç ÇÁ·Î¼¼½º Á¤º¸¸¦ ÀúÀåÇϰí ÀÖ´Â ÆÄÀÏÀÇ ±¸Á¶Ã¼ Á¤º¸¸¦ ¾Ë°í ÀÖ¾î¾ß¸¸ ÇÑ´Ù. ¶ÇÇÑ ÆÄÀÏÀÇ À̸§À̳ª Çü½Äµµ ¾à°£¾¿ Â÷À̰¡ ÀÖ´Ù. ¿¹¸¦ µé¾î ¸®´ª½º¿¡¼´Â ÇØ´ç PIDÀÇ ½ÇÇàÆÄÀÏ À̸§À» °¡Á®¿À±â À§Çؼ /proc/pid/exe ½Éº¼¸¯ ¸µÅ©ÆÄÀÏÀÇ ¿øº»ÆÄÀÏÀ» °Ë»çÇÏ¸é µÇ¾úÁö¸¸ ¼Ö¶ó¸®½º´Â /proc/pid/psinfo ÀÇ ÆÄÀÏÀ» ÀÐ¾î¼ Àû´çÇÑ ¸â¹öº¯¼ö·Î ±¸¼ºµÇ´Â ±¸Á¶Ã¼¿¡ ÀúÀåÇÑ´ÙÀ½ À̰ÍÀ» Àоîµé¿©¾ß ÇÑ´Ù. À§ÀÇ ¸®´ª½º ¹öÁ¯À» ¼Ö¶ó¸®½º¿¡¼ »ç¿ë°¡´ÉÇÑ ¹öÁ¯À¸·Î ¹Ù²Ù±â À§Çؼ´Â /proc/pid/psinfo ÆÄÀÏÀ» Àоîµé¿©¼ psinfo ±¸Á¶Ã¼¿¡ ´ã¾Æ¿À°í ÇÁ·Î¼¼½ºÀÇ À̸§À» ÀúÀåÇϰí ÀÖ´Â ¸â¹öº¯¼ö¸¦ Àоî¿À´Â ¹æ½ÄÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ ±¸Á¶Ã¼´Â ´ÙÀ½°ú °°ÀÌ Á¤ÀǵǾî ÀÖ´Ù.
¾î¶µç Á¤º¸¸¦ °¡Á®¿À´Â ¹æ½Ä¿¡´Â ¾à°£ Â÷À̰¡ ÀÖ±äÇÏÁö¸¸, ÇÁ·Î¼¼½º Á¤º¸¸¦ °¡Á®¿À´Â ±âº»¹ýÄ¢Àº ¸®´ª½º³ª ¼Ö¶ó¸®½º³ª º°Â÷À̰¡ ¾øÀ½À» ¾Ë¼ö ÀÖ´Ù. ¼Ö¶ó¸®½º¿¡¼ man proc ¸¦ Çϸé ÀÌ·¯ÇÑ Á¤ÀÇµÈ ±¸Á¶Ã¼¿Í ÀÌ¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀ» °¡Á®¿Ã¼ö ÀÖ´Ù. 3절. °á·ÐÀÌ»ó °£´ÜÇÑ ÇÁ·Î¼¼½º °ü¸®¹æ¹ý¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò´Ù. ´À²¼°ÚÁö¸¸ ¾Æ¸¶µµ Á¶±Ý¸¸´õ ½Å°æÀ» ¾²¸é, ²Ï ¸¹Àº ½Ã½ºÅÛ Á¤º¸¸¦ ¾Ë·ÁÁÖ´Â SMS ÇÁ·Î±×·¥ÀÇ Á¦ÀÛÀÌ °¡´ÉÇÒ°ÍÀ̶õ »ý°¢ÀÌ µé°ÍÀÌ´Ù. |
|
||||||
|
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù. |
|