Unix, Linux ¿¡¼ kill ¸í·É¾î·Î ¾ÈÀüÇÏ°Ô ÇÁ·Î¼¼½º Á¾·á ½ÃÅ°´Â ¹æ¹ý
½Ã½ºÅÛ ÀÛ¾÷ÇÏ´ø Á÷¿øÀÌ java °ü·Ã ÇÁ·Î¼¼½º Á¾·á¸¦ kill -9 PID ¸¦ ÇÏ´Â °ÍÀ» º¸°í ÀǾÆÇؼ ¹°¾îº¸´Ï ´ç¿¬È÷ ±×·¸°Ô ÇÏ´Â °É·Î ¾Ë°í ÀÖ¾ú´Ù.
°Ë»öÀ» ÇØ º¸´Ï °ÅÀÇ ¸ðµç ºí·Î±×°¡ ÇÁ·Î¼¼½º Á¾·á¸¦ -9 signal ·Î ó¸®Ç϶ó°í µÇ¾î ÀÖ¾î¼ kill ¸í·ÉÀÇ ÀÇ¹Ì ¹× ¾ÈÀüÇÏ°Ô ÇÁ·Î¼¼½º Á¾·á ÇÏ´Â ¹ýÀ» Á¤¸®ÇØ º»´Ù.
kill Àº ¿ëµµ¿¡ ¸ÂÁö ¾Ê°Ô À̸§ÀÌ Áö¾îÁø ¸í·É¾îÁßÀÇ ÇϳªÀÌ´Ù. ÁÖ¿ä ¿ëµµ´Â event °¡ ¹ß»ýÇßÀ½À» ÇÁ·Î¼¼½º¿¡°Ô ¾Ë¸®´Â °ÍÀÌ´Ù. signal ÀÇ Á¾·ù´Â /usr/include/signal,h ¿¡ Á¤¸®µÇ¾î ÀÖ´Ù. (½ÇÁ¦ ¼±¾ðºÎ´Â OS ÀÇ Á¾·ù¿¡ µû¶ó signal.h ¿¡¼ º°µµ·Î include ÇÒ ¼öµµ ÀÖ´Ù)
Un*x ´Â ÇÁ·Î±×·¥¿¡¼ signal Á¾·ù º°·Î signal handler ¸¦ ÁöÁ¤ÇÒ ¼ö Àִµ¥ À¯ÀÏÇÏ°Ô handler ¸¦ ÁöÁ¤ÇÒ¼ö ¾ø´Â ½Ã±×³ÎÀº SIGKILL(9), SIGSTOP(19) µÎ °³ÀÇ ½Ã±×³ÎÀÌ´Ù.
Á¦´ë·Î ±¸ÇöÇÑ ÇÁ·Î±×·¥À̶ó¸é Á¾·áÀÇ Àǹ̷Π»ç¿ëµÇ´Â signal (INT, HUP, TERM µî)À» ¹ÞÀ¸¸é resource ¸¦ Á¤¸®ÇÏ´Â cleanup Äڵ带 ½ÇÇàÇÏ°í Á¾·áÇÏ°Ô µÇ¾î ÀÖÀ» °ÍÀÌ´Ù.
ÇÁ·Î¼¼½º Á¾·á½Ã kill -9 PID ¸¦ ±ÇÀåÇÏ´Â ¾Ê´Â°Ç Á¦´ë·Î signal handler ¸¦ ±¸ÇöÇÑ ÇÁ·Î±×·¥ÀÌ¶óµµ cleanup ÀÛ¾÷À» ÇÏÁö ¸øÇÏ°í ¹Ù·Î Á¾·áµÇ¾î ¹ö¸±¼ö Àֱ⠶§¹®ÀÌ´Ù.
°³ÀÎÀûÀ¸·Î ÃßõÇÏ´Â ¹æ¹ýÀº ¸ÕÀú kill -TERM PID ³ª kill -HUP PID °°ÀÌ TERM(Termination) ³ª HUP(Hangup) signal À» ³¯¸®´Â °ÍÀÌ´Ù.
À§ÀÇ signalÀ» ³¯¸®¸é Á¦´ë·Î µÈ ÇÁ·Î±×·¥Àº º¸Åë cleanup Äڵ带 ¼öÇàÇÏ°í Á¾·áÇÏ°Ô ±¸ÇöµÇ¾î ÀÖ´Ù.
Java JRE µµ TERM ÀÌ¸é ±ú²ýÇÏ°Ô Á¾·áµÇ´Ï tomcat À̳ª ±âŸ java °ü·Ã ÇÁ·Î±×·¥ Á¾·á½Ã KILL(9)À» ¸ÕÀú º¸³»Áö ¸»°í µÎ ¼¼¹ø Á¤µµ TERM(15) º¸³»´Â ¹æ¹ýÀ» ÃßõÇÑ´Ù. (LinuxÀÇ service ¸í·É¾îµµ TERM À» º¸³»º¸°í ¾È Á×À¸¸é KILL À» º¸³»°Ô ±¸ÇöµÇ¾î ÀÖ´Ù)
¿©·¯°³ÀÇ ÇÁ·Î¼¼½º¸¦ Á¾·á½Ãų °æ¿ì ´ÙÀ½°ú °°Àº awk script ¸¦ ÀÌ¿ëÇؼ Á¾·áÇÒ ¼ö ÀÖ´Ù.
httpd ¸¦ Á¾·áÇÒ °æ¿ì ´ÙÀ½°ú °°ÀÌ ¼öÇàÇÏ¸é µÈ´Ù.
À§ÀÇ script ¸¦ µÎ ¼¼¹ø ½ÇÇàÇØ º¸°í Á¾·á°¡ µÇÁö ¾Ê´Â process °¡ ÀÖ´Ù¸é SIGTERM ´ë½Å SIGKILL À» »ç¿ëÇÏ¸é µÈ´Ù.
¸ðµç child process ±îÁö Á¾·á½ÃÅ°´Â ½ºÅ©¸³Æ®°¡ ÇÊ¿äÇÏ´Ù¸é StackOverflowÀÇ Best way to kill all child processes ¾²·¹µå¸¦ ÂüÁ¶ÇÏÀÚ.