http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=8032 [º¹»ç]
SIÇÁ·ÎÁ§Æ® ½Ç¹«°æÇè¹ÙÅÁ Àü¹®ÀÚ¹Ù°³¹ßÀÚ°øµ¿Ã¼
WASÀü¹®±â¼ú/½Ã½ºÅÛÀå¾ÖÁø´Ü/¼º´ÉÀÌ·Ð/ÄÁ¼³ÆÃ
¾ÆÀ̵ð:
ºñ¹Ð¹øÈ£:
[ȸ¿ø°¡ÀÔ]
¡ß Unix/NW/Hacking
--------------------
- Unix/Network
- Hacking/Cracking
Áú¹®Àº [¹¯°í´äÇϱâ]¶õ¿¡¸¸ ¿Ã·ÁÁÖ¼¼¿ä
ÃÖ±Ù¿¡ Å͵æÇÑ »õ·Î¿î °ÍÀÌ ÀÖ³ª¿ä? ¸Ó¸® ¼Ó¿¡ ³Ö¾î µÎ¸é ±Ý¹æ Àؾî¹ö¸®ÁÒ? ÀÛÀº °ÍÀÌ¶óµµ ±¦ÂúÀ¸´Ï ÀÌ°÷¿¡ ¿Ã·Á³õ°í ³²µé°ú °øÀ¯ÇϽÃÁö¿ä.. ¿Ã¸±¸¸ÇÑ ¸Þ´º°¡ ¾ø´Ù±¸¿ä? ¸¸µé¾î µå¸±²²¿ä.
[ÃÖ±Ù ¿Ã¶ó¿Â ±Ûº¸±â] °Ë»ö¾î:
JavaResource | API Tips | Open Source | APM | ApplicationServer | Unix/DB/JVM/Etc | Q&A/Help
Unix/Linux/Network
[±Û¸ñ·Ï /½Ã°£¼ø] [´ä±Û¾²±â] [ÇÁ¸°Æ®]
Á¦¸ñ : [°ÁÂ] Unix ÇÁ·Î¼¼½º Job Control
±Û¾´ÀÌ: ÀÌ¿ø¿µ(javaservice) 1999/05/03 09:06:10 Á¶È¸¼ö:6365 ÁÙ¼ö:267
Job Á¦¾î
-------------------------------------------------------------------------------
Job°ú ÇÁ·Î¼¼½º
Job Á¦¾î´Â ¸¹Àº shell(Bash, Tcsh Æ÷ÇÔ)¿¡¼ Á¦°øµÇ¾îÁö¸ç, ´Ù¼öÀÇ ¸í·É¾î³ª jobÀ»
µ¿½Ã¿¡ Á¦¾îÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ÀÌ°ÍÀ» ´õ ¼³¸íÇϱâ Àü¿¡ ÇÁ·Î¼¼½º¿¡ ´ëÇÑ ¼³¸íÀÌ ÇÊ
¿äÇÏ´Ù.
ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¶§´Â ¾ðÁ¦³ª ¿î¿µµÇ´Â ÇÁ·Î±×·¥ÀÇ ´Ü¼øÇÑ À̸§À¸·Î ½ÃÀÛÇÑ´Ù.
'ps' ¶ó´Â ¸í·É¾î´Â ÇöÀçÀÇ ¿î¿µµÇ´Â ÇÁ·Î¼¼½ºÀÇ ¸ñ·ÏÀ» Ãâ·ÂÇØ ÁØ´Ù. ¿¹Á¦¸¦ ¾Æ·¡¿Í
°°ÀÌ º¸ÀδÙ.
/home/larry# ps
PID TT STAT TIME COMMAND
24 3 S 0:03 (bash)
161 3 R 0:00 ps
/home/larry#
ù ¹ø° Ä®·³ÀÇ PID ¸ñ·ÏÀº ÇÁ·Î¼¼½º IDÀ̸ç, ÀÌ°ÍÀº ¸ðµç ¿î¿µµÇ´Â ÇÁ·Î¼¼½º¿¡°Ô
ÁÖ¾îÁö´Â ´ÜÀ§ ¼ýÀÚÀÌ´Ù. ¸¶Áö¸· Ä®·³ÀÇ COMMAND´Â ¿î¿µµÇ´Â ¸í·É¾îÀÇ À̸§ÀÌ´Ù.
¿©±â¿¡, ¿ì¸®´Â Larry°¡ ¿î¿µÇÏ°í ÀÖ´Â ÇÁ·Î¼¼¼¸¸À» º¼ ¼ö ÀÖÀ¸¸ç, ÇöÀç LarryÀÇ
shellÀÎ 'bash'¿Í 'ps' ¸í·É¸¸ÀÌ ÀÖ´Ù. - ½ÇÁ¦·Î ½Ã½ºÅÛ¿¡ ¿î¿µµÇ´Â ¸¹Àº ÇÁ·Î¼¼½ºµéÀÌ
ÀÖÀ¸¸ç, ÀÌ°ÍÀº 'ps -aux'·Î º¼ ¼ö ÀÖ´Ù. - ¿©±â¼ º¼ ¼ö ÀÖ´Â °Íó·³, 'bash'´Â 'ps' ¸í
·É¾î¿Í µ¿½Ã¿¡ ¿î¿µµÊÀ» ¾Ë ¼ö ÀÖ´Ù. Larry°¡ ¸í·É¾î¸¦ ÀÔ·ÂÇϸé 'bash'°¡ 'ps'¸¦ ½ÇÇà
ÇÑ °ÍÀÌ´Ù. 'ps' ÀÌÈÄ´Â ¿î¿µÀÌ ³¡³ª°í(ÇÁ·Î¼¼½º ¸ñ·ÏÀÇ Ãâ·ÂÀÌ ³¡³ª°í) Á¦¾î±ÇÀÌ
'bash'¿¡°Ô µÇµ¹¾Æ¿À¸ç, ÇÁ·ÒÇÁÆ®°¡ Ãâ·ÂµÈÈÄ ´Ù½Ã ¸í·É¾î ´ë±â»óÅ°¡ µÈ´Ù.
¿î¿µµÇ´Â ÇÁ·Î¼¼½º´Â shell¿¡¼ "job"À̶ó°í ÇÑ´Ù. ÇÁ·Î¼¼½º¿Í jobÀº »óÈ£ º¯°æµÉ ¼ö
ÀÖ´Ù. ¾î·µç, ÇÁ·Î¼¼½º´Â ¸î °³ÀÇ µ¶¸³ÀûÀÎ "job"µé »çÀ̸¦ ÀüȯÇÒ ¼ö ÀÖÀ¸¸ç, shellÀÇ
job Á¦¾î°¡ ¶ÇÇÑ, "job"À̶ó°í ÀÏÄþîÁø´Ù.
´ëºÎºÐÀÇ °æ¿ì »ç¿ëÀÚ°¡ shell¿¡°Ô ¸¶Áö¸· ÀÔ·ÂÇÑ ¸í·É¾î°¡ ´ÜÀÏ jobÀ¸·Î ¿î¿µµÈ´Ù.
job Á¦¾î¸¦ »ç¿ëÇϸé, ¿©·¯ °³ÀÇ jobÀ» Çѹø¿¡ ÇÒ ¼ö ÀÖÀ¸¸ç, ÇÊ¿äÇÒ ¶§¸¶´Ù ÀüȯÇÒ
¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ¹®¼ ÆÄÀÏÀ» ÆíÁýÇÏ°í ÀÖÀ¸¸ç, ¾î¶² ´Ù¸¥ ÀϵéÀ» Çϱâ À§ÇØ ÆíÁý
À» º¸·ùÇØ¾ß ÇÒ °æ¿ì°¡ ÀÖ´Ù°í ÇÏÀÚ. job Á¦¾î¸¦ »ç¿ëÇϸé, ¿¡µðÅ͸¦ ÀÓ½ÃÀûÀ¸·Î Àá½Ã
º¸·ùÇÏ°í, shell ÇÁ·ÒÇÁÆ®·Î µ¹¾Æ¿Í¼ ´Ù¸¥ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù. ÀÛ¾÷ÀÌ ³¡³ª¸é, ¿¡µðÅÍ
¸¦ Á¾·áÇÏÁö¸¸ ¾Ê¾Ò´Ù¸é ¾îµð¿¡¼µçÁö ´Ù½Ã ¿¡µðÅÍ·Î µÇµ¹¾Æ¿Ã ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ´Ü¼ø
È÷ ÇÑ ¿¹¿¡ ºÒ°úÇÏÁö¸¸, ½ÇÁ¦·Î ¸Å¿ì À¯¿ëÇÏ´Ù.
Æ÷±×¶ó¿îµå¿Í ¹é±×¶ó¿îµå
jobÀº Æ÷±×¶ó¿îµå¿¡¼¿Í ¹é±×¶ó¿îµå¿¡¼ ÇÒ ¼ö ÀÖ´Ù. Æ÷±×¶ó¿îµå¿¡¼ÀÇ jobÀº Çѹø
¿¡ ÇÑ job¸¸ ÇÒ ¼ö ÀÖÀ¸¸ç, Å°º¸µå·ÎºÎÅÍ ÀÔ·ÂÀ» ¹Þ°í, ȸéÀ¸·Î Ãâ·ÂÀ» º¸³»´Â »óÈ£
ÀÛ¿ëÀÌ ÀÌ·ç¾îÁöÁø´Ù. (¹°·Ð ÀԷ°ú Ãâ·ÂÀ» ¸®µð·ºÆ® ½Ãų ¼ö ÀÖ´Ù.) ´Ù¸¥ ¸»·Î Çϸé,
¹é±×¶ó¿îµå¿¡¼ÀÇ jobÀº Å͹̳ηκÎÅÍ ÀÔ·ÂÀ» ¹ÞÁö ¸øÇÑ´Ù. µû¶ó¼, »óÈ£ÀÛ¿ëÀÌ º°·Î
ÇÊ¿äÇÏÁö ¾Ê´Â ÀÛ¾÷¿¡ ÀϹÝÀûÀ¸·Î »ç¿ëµÈ´Ù.
ÇÁ·Î±×·¥ ÄÄÆÄÀÏÀ̳ª ¾ÐÃà°°Àº ÀÛ¾÷Àº ½Ã°£ÀÌ ¼Ò¿äµÇ¸ç ¶ÇÇÑ, 󸮵Ǵ µ¿¾È ¾î¶°
ÇÑ ´Ù¸¥ ÀÔ·ÂÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù. ÀÌ·± Á¾·ùÀÇ ÀÛ¾÷µéÀ» ¹é±×¶ó¿îµå·Î ½ÇÇà½ÃÅ°¸é,
´Ù¸¥ ÇÁ·Î±×·¥À» ¿î¿µÇÒ ¼ö ÀÖ´Â ¿©À¯¸¦ °®°Ô µÈ´Ù. ¶ÇÇÑ, ÇϳªÀÌ»óÀÇ ÀÛ¾÷À» ¹é±×¶ó
¿îµå·Î ¿î¿µÇÒ ¼ö ÀÖÀ¸¸ç, Æ÷±×¶ó¿îµå¿¡¼ÀÇ Ã³¸® ¼Óµµ¿ÍÀÇ Â÷ÀÌ´Â °ÅÀÇ ³ªÁö ¾Ê´Â´Ù.
jobÀº ¶ÇÇÑ º¸·ùµÉ ¼ö ÀÖ´Ù. º¸·ùµÈ jobÀº ÇöÀç ¿î¿ëµÇ´Â jobÀº ¾Æ´Ï°í, Àá½Ã ¸ØÃß´Â
°ÍÀÌ´Ù. jobÀ» º¸·ùÇÑ ÈÄ¿¡ Æ÷±×¶ó¿îµå¿¡¼µçÁö ¹é±×¶ó¿îµå¿¡¼µçÁö ±× jobÀ» ÇÊ¿ä¿¡
µû¶ó °è¼ÓÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù. º¸·ùµÈ jobÀº ¾î¶°ÇÑ ¹æ¹ýÀ¸·Îµµ ±× »óÅ°¡ º¯ÇÏÁö ¾ÊÀ¸¸ç
°Á¦·Î Á¾·á½ÃÅ°Áö ¾ÊÀ» ¶§±îÁö °è¼Ó À¯ÁöµÈ´Ù.
º¸·ùµÈ jobÀº ÀÎÅÍ·´ÆÃµÈ job°ú´Â °°Áö ¾Ê´Ù. ¿î¿µµÇ´Â ÇÁ·Î¼¼½º¸¦ ÀÎÅÍ·´Æ® ½Ãų
¶§( ÀÎÅÍ·´Æ® Å°´Â stty ¸í·ÉÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖÀ¸¸ç, µðÆúÆ®´Â [ctrl-C]ÀÌ´Ù.) ´Â ÇÁ·Î
¼¼½º¸¦ Á¦°ÅÇÏ´Â(kill) °ÍÀÌ´Ù. jobÀÌ Á¦°ÅµÇ¸é, ±× jobÀ» ´Ù½Ã ÇÒ ¼ö ¾ø°í, ¸í·ÉÀ» ´Ù½Ã
½ÇÇàÇÏ¿©¾ß ÇÑ´Ù. ¾î¶² ÇÁ·Î±×·¥Àº ÀÎÅÍ·´Æ®¸¦ [ctrl-C]·Î Áï½Ã jobÀ» ÁßÁöÇÏÁö ¸øÇÏ°Ô
ÇÑ´Ù. ÀÌ°ÍÀº ÇÁ·Î±×·¥ÀÌ ½ÇÇàÇϱâ ÀÌÀüÀÇ ±ú²ýÇÑ »óÅ·ΠÀ¯ÁöÇϱâ À§ÇÏ¿© ´Ü¼øÈ÷ ÀÎ
ÅÍ·´Æ®¸¦ ÁßÁöµÇ´Â °ÍÀ» Çã¿ëÇÏÁö ¾Ê´Â °ÍÀÌ´Ù.
¹é±×¶ó¿îµå ½ÃÅ°±â¿Í Job Á¦°Å
°£´ÜÇÑ ¿¹Á¦·Î ½ÃÀÛÇØ º¸ÀÚ. ¸í·É¾î 'yes'´Â ²÷ÀÓ¾øÀÌ y¸¦ Ãâ·ÂÇÏ´Â ¸í·ÉÀÌ´Ù. ÀÌ°Í
Àº ¾î¶² ¸í·É¾î°¡ °è¼ÓÀûÀÎ Áú¹®À¸·Î ´äÀ» ¿ä±¸ÇÏ´Â °æ¿ì, ±×°ÍÀÌ º¸Åë yes¶ó´Â ´äÀÌ
µÈ´Ù¸é, ÆÄÀÌÇÁ¸¦ »ç¿ëÇÏ¿© y¸¦ °è¼Ó º¸³» ´äÀ» ÇÏ´Â °ÍÀ¸·Î À¯¿ëÇÏ°Ô »ç¿ëµÇ¾î Áú
¼ö ÀÖ´Ù.
/home/larry# yes
y
y
y
y°¡ °è¼Ó ²÷ÀÓ¾øÀÌ Ãâ·ÂµÈ´Ù. ÀÎÅÍ·´Æ® Å°, º¸Åë [ctrl-C] °°Àº °ÍÀ¸·Î¼ ÇÁ·Î¼¼½º¸¦
Á¦°ÅÇÒ ¼ö ÀÖ´Ù. ÀÌ·± yÀÇ Ãâ·ÂµéÀÌ ±ÍÂú´Ù¸é, yesÀÇ Ç¥ÁØ Ãâ·ÂÀ» /dev/null ·Î ¸®µð·º
Æ® ½ÃÄÑ º¸ÀÚ. /dev/null Àº µ¥ÀÌÅÍÀÇ "black hole" ·Î ÀÛ¿ëÇÑ´Ù. ¾î¶°ÇÑ µ¥ÀÌÅ͵µ ÀÌ°÷
À¸·Î º¸³»¸é ³ªÅ¸³ªÁö ¾Ê´Â´Ù. ÀÌ°ÍÀº Áú¹®À» °è¼Ó ¹°¾î º¸´Â ¼º°¡½Å ÇÁ·Î±×·¥À» Á¶
¿ëÇÏ°Ô ¸¸µå´Â ¾ÆÁÖ È¿°úÀûÀÎ ¹æ¹ýÀÌ´Ù.
/home/larry# yes > /dev/null
¾Æ¹«°Íµµ Ãâ·ÂµÇÁö ¾ÊÀ¸¸ç, shell ÇÁ·ÒÇÁÆ®·Î µÇµ¹¾Æ¿ÀÁöµµ ¾Ê´Â´Ù. ÀÌ°ÍÀº yes°¡ ¿©
ÀüÈ÷ ¿î¿µµÇ°í ÀÖÀ¸¸ç, °è¼Ó /dev/null ·Î 'y'¸¦ Ãâ·ÂÇÏ°í ÀÖ´Â °ÍÀÌ´Ù. µû¶ó¼, jobÀ»
Á¦°ÅÇϱâ À§Çؼ ÀÎÅÍ·´Æ® Å°¸¦ ´·¯¾ß ÇÑ´Ù.
°¡Á¤À» Çغ¸ÀÚ. ¿ì¸®´Â yesÀÇ ¸í·ÉÀÌ °è¼ÓµÇ±â¸¦ ¹Ù¶ó³ª, ´Ù¸¥ ÀÛ¾÷À» Çϱâ À§Çؼ
shell ÇÁ·ÒÇÁÆ®·Î µÇµ¹¾Æ¿À±â¸¦ ¿øÇÑ´Ù. ±×·¯¸é, ¿ì¸®´Â ¹é±×¶ó¿îµå·Î yes¸¦ ½ÇÇàÇØ ³õ
À» ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ±×°ÍÀÌ °è¼Ó ¿î¿µµÇ°í ÀÖ´Â ÀÖ´Â °ÍÀÌÁö¸¸ »óÈ£ ÀÛ¿ëÇÒ ÇÊ¿ä´Â
¾ø´Â °ÍÀÌ´Ù.
¹é±×¶ó¿îµå·Î ÇÁ·Î¼¼½º¸¦ ³õ´Â ¹æ¹ýÀº ¸í·É¾îÀÇ ³¡¿¡ "&"¸¦ Ãß°¡ÇÏ´Â °ÍÀÌ´Ù.
/home/larry# yes > /dev/null &
[1] 164
/home/larry#
À§¿¡¼ º¼ ¼ö ÀÖ´Â °Íó·³, shell ÇÁ·ÒÇÁÆ®°¡ µÇµ¹¾Æ ¿Ô´Ù. ±×·±µ¥, "[1] 164"´Â ¹«¾ù
Àϱî? ±×¸®°í, 'yes'ÀÇ ¸í·ÉÀÌ Á¤¸»·Î ½ÇÇàµÇ°í ÀÖ´Â °ÍÀϱî?
"[1]"Àº yes ÇÁ·Î¼¼½ºÀÇ job ¹øÈ£¸¦ Ç¥½ÃÇÏ°í ÀÖ´Ù. shellÀº ¸ðµç ¿î¿µµÇ´Â jobÀ» job
¹øÈ£·Î ÁöÁ¤ÇÑ´Ù. yes´Â ÇöÀç ¿î¿µµÇ°í ÀÖ´Â ¿ÀÁ÷ ÇϳªÀÇ jobÀ̱⠶§¹®¿¡ job ¹øÈ£ 1
ÀÎ °ÍÀÌ´Ù. "164"´Â ÇÁ·Î¼¼½º ID ¶Ç´Â PID ¶ó´Â °ÍÀ̸ç, ÀÌ°ÍÀº ½Ã½ºÅÛÀÌ job¿¡°Ô ÁÖ
´Â ÇÁ·Î¼¼½º ¹øÈ£ÀÌ´Ù. ÀÌ·¯ÇÑ ¹øÈ£µéÀº ¸ðµÎ jobÀ» °¡¸£Å°´Âµ¥ »ç¿ëµÈ´Ù.
¹é±×¶ó¿îµå·Î yes ÇÁ·Î¼¼½º°¡ °è¼ÓÀûÀ¸·Î /dev/null¿¡ 'y'µéÀ» º¸³¾ ¼ö ÀÖ´Ù. ÀÌ ÇÁ
·Î¼¼½ºÀÇ »óŸ¦ °Ë»çÇϱâ À§Çؼ´Â ¼¿ ¸í·ÉÀÎ 'jobs' À» »ç¿ëÇÏ¸é µÈ´Ù.
/home/larry# jobs
[1]+ Running yes >/dev/null &
/home/larry#
¿î¿µÁßÀÎ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ 'ps'¸í·É¾î¸¦ »ç¿ëÇÏ¿© À§¿¡¼ °Ë»çÇÑ °Í°ú °°
Àº jobÀÇ »óŸ¦ ¾Ë ¼ö ÀÖ´Ù.
job¸¦ Á¤Áö½ÃÅ°±â À§Çؼ´Â 'kill' ¸í·É¾î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ ¸í·É¾î´Â job ¹øÈ£³ª
ÇÁ·Î¼¼½º ID ¹øÈ£¸¦ ÀÎÀڷμ »ç¿ëÇÑ´Ù. ÀÌ°ÍÀº job ¹øÈ£´Â 1À̸ç, ¸í·É¾î¸¦ »ç¿ëÇϱâ
À§Çؼ´Â ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇÑ´Ù.
/home/larry# kill %1
À§¿Í °°ÀÌ Çϸé jobÀº Á¦°ÅµÉ °ÍÀÌ´Ù. jobÀ̳ª job ¹øÈ£¸¦ Ç¥½ÃÇÏ·Á ÇÒ ¶§´Â ÆÛ¼¾
Æ® ¹®ÀÚÀÇ À§Ä¡¿¡ ¹øÈ£¸¦ ³ÖÀ¸¸é µÈ´Ù.
Áö±Ý ¿ì¸®´Â jobÀ» Á¦°ÅÇÏ¿´°í, 'jobs'À» »ç¿ëÇÏ°í ±×°ÍÀ» ´Ù½Ã °Ë»çÇÏ°í ÀÖ´Ù.
/home/larry# jobs
[1]+ Terminated yes >/dev/null
/home/larry#
jobÀº È®½ÇÈ÷ Á¦°ÅµÇ¾ú°í, 'jobs' ¸í·É¾î¸¦ ´Ù½Ã »ç¿ëÇÑ´Ù¸é, ¾Æ¹«°Íµµ Ãâ·ÂµÇÁö ¾Ê
À» °ÍÀÌ´Ù.
¶ÇÇÑ ÇÁ·Î¼¼½º ID(PID) ¹øÈ£¸¦ »ç¿ëÇÏ¿© jobÀ» Á¦°ÅÇÒ ¼ö ÀÖ´Ù. PID´Â jobÀÌ ½ÃÀÛ
ÇÒ ¶§ job ID¿Í ÇÔ²² Ãâ·ÂµÇ´Â °ÍÀÌ´Ù. ¿ì¸®ÀÇ ¿¹Á¦¿¡¼, ÇÁ·Î¼¼¼ ID´Â 164ÀÌ´Ù. µû
¶ó¼,
/home/larry# kill 164
Àº, ¾Æ·¡¿Í µ¿ÀÏÇÑ ±â´ÉÀ» ¼öÇàÇÑ´Ù,
/home/larry# kill %1
ÇÁ·Î¼¼½º ID¿¡ ÀÇÇÑ jobÀ» ¾ð±ÞÇÒ ¶§´Â "%"¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ¾ø´Ù.
JobÀÇ º¸·ù¿Í °è¼ÓÇϱâ
¹é±×¶ó¿îµå ¾ÈÀ¸·Î jobÀ» ³Ö´Â ¶Ç ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´Ù. jobÀ» º¸ÅëÀ¸·Î ½ÇÇà(Æ÷±×¶ó¿î
µå·Î) ½Ãų ¼ö ÀÖÀ¸¸ç, jobÀ» ¸ØÃâ ¼öµµ ÀÖ°í, ¹é±×¶ó¿îµå·Î Àç½ÇÇà ½Ãų ¼öµµ ÀÖ´Ù.
ÀÌ°ÍÀ» ¾Æ·¡¿¡ ¼³¸íÇÑ´Ù.
¸ÕÀú, Æ÷±×¶ó¿îµå·Î yes¸¦ ½ÇÇàÇÑ´Ù.
/home/larry# yes > /dev/null
yes°¡ Æ÷±×¶ó¿îµå·Î ½ÇÇàÀÌ µÇ¾ú±â ¶§¹®¿¡, shell ÇÁ·ÒÇÁÆ®·Î ¹Ù·Î µ¹¾Æ¿Ã ¼ö ¾ø´Ù.
Áö±Ý, '[ctrl-C]'·Î¼ jobÀ» ÀÎÅÍ·´ÆÃÇÏ´Â ´ë½Å¿¡, jobÀ» º¸·ùÇØ º¸ÀÚ. jobÀ» Á¦°ÅÇÏ
Áö¾Ê°í, º¸·ù½ÃŲ´Ù´Â °ÍÀº Àç½ÇÇàÇϱâ Àü±îÁö Àá½Ã ¸ØÃá´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ÀÌ·¸°Ô ÇÏ
±â À§Çؼ´Â º¸·ù Å°¸¦ ´·¯¾ß Çϸç, ÀϹÝÀûÀ¸·Î '[ctrl-Z]'ÀÌ´Ù.
/home/larry# yes > /dev/null
[ctrl-Z]
[1]+ Stopped yes >/dev/null
/home/larry#
º¸·ùµÈ jobÀº ´Ü¼øÈ÷ ½ÇÇàÀÌ ¸ØÃá °ÍÀÌ´Ù. CPU ³ª ¸Þ¸ð¸®´Â jobÀ» À§ÇØ ÀüÇô »ç¿ë
µÇÁö ¾Ê´Â´Ù. ¿©±â¼ ¾Æ¹«°Íµµ º¯ÇÏÁö ¾ÊÀº º¸·ùµÇ±â ÀÌÀü job »óÅ·ΠÀç½ÇÇà ÇÒ ¼ö
ÀÖ´Ù.
ÀÌ jobÀ» Æ÷±×¶ó¿îµå·Î Àç½ÇÇàÇϱâ À§Çؼ´Â ¸í·É¾î 'fg'(forground)¸¦ »ç¿ëÇÑ´Ù.
/home/larry# fg
yes >/dev/null
shellÀº Æ÷±×¶ó¿îµå·Î ¹Ù²Ù¾ú´ø ¸í·É¾îÀÇ À̸§À» ´Ù½Ã Ãâ·ÂÇÑ´Ù. ´Ù½Ã jobÀ» ¸ØÃß°Ô
ÇÏ·Á¸é '[ctrl-Z]'¸¦ »ç¿ëÇÑ´Ù. À̹ø¿£ ¸í·É¾î 'bg'¸¦ »ç¿ëÇÏ¿© jobÀ» ¹é±×¶ó¿îµå·Î ³õ¾Æ
º¸ÀÚ. ÀÌ°ÍÀº óÀ½¿¡ ¸í·É¾î¸¦ ÀÔ·ÂÇÒ¶§ ³¡¿¡ "&"¸¦ »ç¿ëÇÏ¿© ½ÇÇàÇß¾ú´ø °Í°ú °°´Ù.
/home/larry# bg
[1]+ yes >/dev/null &
/home/larry#
À§¿Í °°ÀÌ Çϸé ÇÁ·ÒÇÁÆ®°¡ µÇµ¹¾Æ¿Â´Ù. jobÀº yes°¡ ½ÇÇàÀÌ µÇ¾úÀ½À» º¸°íÇÑ´Ù. ¸Õ
Àú ¹ø¿¡ »ç¿ëÇÏ¿´´ø ¸í·É¾î 'kill'À» »ç¿ëÇÏ¿© jobÀ» Á¦°ÅÇÒ ¼ö ÀÖ´Ù.
¾î¶»°Ô jobÀ» ¸ØÃâ ¼ö ÀÖÀ»±î? [ctrl-Z]À» »ç¿ëÇϸé jobÀÌ ¹é±×¶ó¿îµå·Î ½ÇÇàµÇ±â
¶§¹®¿¡ ÀÛ¾÷À» ÇÒ ¼ö ¾ø´Ù. ÀÌ ´äÀº 'fg'¸¦ »ç¿ëÇÏ¿© Æ÷±×¶ó¿îµå·Î jobÀ» ³õ¾Æ¾ß¸¸ ÇÏ
¸ç, ±×·¡¾ß ¸ØÃâ ¼ö ÀÖ´Ù. ¸ØÃçÁø jobÀ̳ª ¹é±×¶ó¿îµåÀÇ jobÀ» 'fg'¸¦ »ç¿ëÇÏ¿© ÀüȯÇÒ
¼ö ÀÖ´Ù.
¹é±×¶ó¿îµå¿¡¼ÀÇ job°ú ¸ØÃçÁø jobÀº Ä¿´Ù¶õ Â÷ÀÌ°¡ ÀÖ´Ù. º¸·ùµÈ jobÀº CPU ½Ã°£
À̳ª ¸Þ¸ð¸®¸¦ ÀüÇô »ç¿ëÇÏÁö ¾ÊÀ¸¸ç, µû¶ó¼ ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â´Ù. ¹é±×¶ó¿îµå·Î
¿î¿µµÇ°í ÀÖ´Â jobÀº ¸Þ¸ð¸®¸¦ »ç¿ëÇϸç, ¶ÇÇÑ ´Ù¸¥ ÀÛ¾÷À» ÇÏ°í ÀÖÀ» µ¿¾È¿¡µµ ¿Ïº®
ÇÏ°Ô ÀÌ ÀÛ¾÷À» ¼öÇàÇÑ´Ù. ¾î·µç, ¹é±×¶ó¿îµå¿¡¼ÀÇ jobÀº Å͹̳ο¡¼ ¹®ÀÚ¸¦ Ãâ·ÂÇÏ
°íÀÚ Çϸç, ¾î¶² ´Ù¸¥ ÀÛ¾÷À» ÇÏ°í ÀÖ´Ù¸é, ±ÍÂú°Ô ÇÒ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, ¾Æ·¡ÀÇ ¸í
·É°°ÀÌ ÀÔ·ÂÇÑ´Ù¸é,
/home/larry# yes &
/dev/null ·Î Ç¥ÁØ Ãâ·ÂÀ» ¸®µð·ºÆÃÇÏÁö ¾Ê´Â´Ù¸é, yÀÇ ¹®ÀÚ¿µéÀº ȸ鿡 ¾î¶°ÇÑ
ÀÎÅÍ·´Æ®µµ ¹ÞÁö ¾Ê°í Ãâ·ÂµÉ °ÍÀÌ´Ù. '[ctrl-C]'´Â ¹é±×¶ó¿îµåÀÇ job ¿¡°Ô ÀÎÅÍ·´Æ®¸¦
°É ¼ö ¾ø´Ù. ²÷ÀÓ¾ø´Â 'y'µéÀ» ¸ØÃß±â À§Çؼ´Â 'kill' ¸í·É¾î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ¾Æ¸¶
µµ, ÀÔ·ÂÇÏ´Â °ÍÀ» º¸´Â °ÍÀº ºÒ°¡´ÉÇÒ °ÍÀÌ´Ù.
¶Ç Áß¿äÇÑ °ÍÀº, ¸í·É¾î 'fg'³ª 'bg'¸¦ ÀÎÀÚ¾øÀÌ ÀÔ·ÂÇϸé ÃÖ±Ù¿¡ ¸ØÃß¾îÁø jobÀ» Æ÷
±×¶ó¿îµå³ª ¹é±×¶ó¿îµå ½ÃŲ´Ù. ¸¸ÀÏ Áö±Ý º¹¼ö°³ÀÇ jobÀ» µ¿½Ã¿¡ ¿î¿µÇÏ°í ÀÖ´Ù¸é,
ƯÁ¤ jobÀº ÁÖ¾îÁø job ID¸¦ 'fg'³ª 'bg'ÀÇ ÀÎÀڷμ »ç¿ëÇÏ¿© Æ÷±×¶ó¿îµå³ª ¹é±×¶ó¿î
µå·Î Àüȯ ½Ãų ¼ö ÀÖ´Ù.
/home/larry# fg %2
job ¹øÈ£ 2¸¦ Æ÷±×¶ó¿îµå·Î Àüȯ ½ÃŲ´Ù.
/home/larry# bg %3
job ¹øÈ£ 3À» ¹é±×¶ó¿îµå·Î Àüȯ ½ÃŲ´Ù.
ÇÁ·Î¼¼½º ID¸¦ 'fg'³ª 'bg' ¸í·É¿¡¼´Â »ç¿ëÇÒ ¼ö ¾ø´Ù.
'fg', 'bg' ¸í·É ¾øÀÌ job ¹øÈ£¸¸À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. µû¶ó¼ ¾Æ·¡ÀÇ µÎ ¸í·ÉÀº µ¿ÀÏÇÏ
´Ù.
/home/larry# %2
/home/larry# fg %2
jobÁ¦¾î¸¦ »ç¿ëÇÏ´Â °ÍÀº shellÀÇ ±â´ÉÀ» ÀÌ¿ëÇÑ´Ù´Â °ÍÀ» ±â¾ïÇØ¾ß ÇÑ´Ù. ¸í·É¾î
'fg', 'bg', 'jobs'´Â shellÀÇ ¸í·É¾îµéÀÌ´Ù. ¸¸ÀÏ ¾î¶² ÀÌÀ¯¿¡¼ shellÀÌ job Á¦¾î¸¦
Á¦°øÇÏÁö ¾Ê´Â´Ù¸é, ÀÌ·¯ÇÑ ¸í·É¾îµéÀÌ À¯¿ëÇÑÁö ¾Ë¾Æ³¾ ¼ö ¾ø´Ù.
µ¡ºÙÀ̸é, job Á¦¾îÀÇ ÇüÅ´ Bash³ª Tcsh¿¡¼ ¾à°£ ´Ù¸£´Ù. »ç½Ç, ¸ðµç shellÀÌ job
Á¦¾î¸¦ Á¦°øÇÏÁö ¾ÊÀ¸³ª, ¸®´ª½ºÀÇ ´ëºÎºÐÀÇ shell¿¡¼´Â job Á¦¾î¸¦ Á¦°øÇÑ´Ù.
================================================
ÀÌ¿ø¿µ(javaservice@hanmail.net)
236-1, Hyosung-2dong, Kyeyang-gu, Inchun,
407-042, KOREA
Phone:(82-32)540-5243, Fax:(82-32)540-5402
PCS:019-310-7324
================================================ |
Hit : 20279 Date : 2014/04/06 11:28
|