JavaTM 2 Platform
Standard Ed. 5.0

java.lang
Ŭ·¡½º ProcessBuilder

java.lang.Object 
  »óÀ§¸¦ È®Àå java.lang.ProcessBuilder

public final class ProcessBuilder
extends Object

ÀÌ Å¬·¡½º´Â operating systemÀÇ ÇÁ·Î¼¼½ºÀÇ ÀÛ¼º¿¡ »ç¿ëµË´Ï´Ù.

°¢ ProcessBuilder ÀνºÅϽº´Â ÇÁ·Î¼¼½º ¼Ó¼ºÀÇ Ä÷º¼ÇÀ» °ü¸®ÇÕ´Ï´Ù. start() ¸Þ¼­µå´Â ÀÌ·¯ÇÑ ¼Ó¼ºÀ» °¡Áö´Â »õ·Î¿î Process ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù. °°Àº ÀνºÅϽº·ÎºÎÅÍ start() ¸Þ¼­µå¸¦ ¹Ýº¹ÇØ È£ÃâÇØ, µ¿ÀÏÇÑ ¼Ó¼º ¶Ç´Â °ü·ÃµÈ ¼Ó¼ºÀ» °¡Áö´Â »õ·Î¿î ¼­ºê ÇÁ·Î¼¼½º¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

°¢ ÇÁ·Î¼¼½ººñ¸£´Ù´Â ´ÙÀ½ÀÇ ÇÁ·Î¼¼½º ¼Ó¼ºÀ» °ü¸®ÇÕ´Ï´Ù.

ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ ¼Ó¼ºÀ» º¯°æÇϸé, ¼Ó¼ºÀ» º¯°æÇÑ ¿ÀºêÁ§Æ®ÀÇ start() ¸Þ¼­µå·Î ±× ÀÌÈÄ ½ÃÀ۵Ǵ ÇÁ·Î¼¼½º¿¡ ¿µÇâÀÌ ÀÖ½À´Ï´Ù¸¸, ±× ÀÌÀü¿¡ ½ÃÀÛµÈ ÇÁ·Î¼¼½º³ª Java ÇÁ·Î¼¼½º ÀÚü¿¡´Â ¿µÇâ ¾ø½À´Ï´Ù.

´ëºÎºÐÀÇ ¿¡·¯ üũ´Â start() ¸Þ¼­µå·Î ½ÇÇàµË´Ï´Ù. start() °¡ ½ÇÆÐÇϵµ·Ï, ¿ÀºêÁ§Æ® »óŸ¦ º¯°æÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, Ä¿¸àµå ¼Ó¼ºÀ» ÇÏ´ÃÀÇ ¸®½ºÆ®·Î ¼³Á¤Çϸé, start() °¡ ºÒ·Á °¡Áö ¾Ê´Â ÀÌ»ó ¿¹¿Ü´Â Throw µÇÁö ¾Ê½À´Ï´Ù.

ÀÌ Å¬·¡½º´Â µ¿±âÈ­ µÇÁö ¾Ê½À´Ï´Ù. º¹¼öÀÇ thread°¡ ProcessBuilder ÀνºÅϽº¿¡ µ¿½Ã¿¡ Á¢¼ÓÇØ, Àû¾îµµ 1 °³ÀÇ thread°¡ ±¸Á¶ÀûÀ¸·Î 1 °³ÀÇ ¼Ó¼ºÀ» º¯°æÇßÀ» °æ¿ì, º¯°æµÈ ¼Ó¼ºÀº ¿ÜºÎ¿¡¼­ µ¿±âÈ­ µÇÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

µðÆúÆ®ÀÇ ÀÛ¾÷ µð·ºÅ丮¿Í ȯ°æÀ» »ç¿ëÇÏ´Â »õ·Î¿î ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇÏ´Â °ÍÀº, ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ) ¿ëÀÌÇÕ´Ï´Ù.

 Process p = new ProcessBuilder("myCommand", "myArg"). start();
 

º¯°æµÈ ÀÛ¾÷ µð·ºÅ丮¿Í ȯ°æÀ» Æ÷ÇÔÇÑ ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇÏ´Â ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.

 ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
 Map<String, String>
 env = pb.environment();
 env.put("VAR1", "myValue");
 env.remove("OTHERVAR");
 env.put("VAR2", env.get("VAR1") + "suffix");
 pb.directory("myDir");
 Process p = pb.start();
 

ȯ°æ º¯¼öÀÇ ¸í½ÃÀû ¼¼Æ®¸¦ °¡Áö´Â ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇÏ·Á¸é, ¿ì¼± Map.clear() ¸¦ È£ÃâÇÏ°í ³ª¼­, ȯ°æ º¯¼ö¸¦ Ãß°¡ÇÕ´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.5

»ý¼ºÀÚ °³¿ä
ProcessBuilder (List <String > command)
          ÁöÁ¤µÈ operating system ÇÁ·Î±×·¥°ú Àμö¸¦ °¡Áö´Â ÇÁ·Î¼¼½ººñ¸£´Ù¸¦ ±¸ÃàÇÕ´Ï´Ù.
ProcessBuilder (String ... command)
          ÁöÁ¤µÈ operating system ÇÁ·Î±×·¥°ú Àμö¸¦ °¡Áö´Â ÇÁ·Î¼¼½ººñ¸£´Ù¸¦ ±¸ÃàÇÕ´Ï´Ù.
 
¸Þ¼­µå °³¿ä
 List <String > command ()
          ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ operating system ÇÁ·Î±×·¥°ú Àμö¸¦ µ¹·ÁÁÝ´Ï´Ù.
 ProcessBuilder command (List <String > command)
          ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ operating system ÇÁ·Î±×·¥°ú Àμö¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 ProcessBuilder command (String ... command)
          ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ operating system ÇÁ·Î±×·¥°ú Àμö¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 File directory ()
          ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ ÀÛ¾÷ µð·ºÅ丮¸¦ µ¹·ÁÁÝ´Ï´Ù.
 ProcessBuilder directory (File  directory)
          ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ ÀÛ¾÷ µð·ºÅ丮¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 Map <String, String > environment ()
          ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ È¯°æÀÇ Ä³¸¯ÅÍ ¶óÀÎ ¸ÊÀÇ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù.
 boolean redirectErrorStream ()
          ÀÌ ÇÁ·Î¼¼½ººñ¸£´Ù°¡ Ç¥ÁØ ¿¡·¯¿Í Ç¥ÁØ Ãâ·ÂÀ» ¸ÓÁö ÇÒÁö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 ProcessBuilder redirectErrorStream (boolean redirectErrorStream)
          ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ redirectErrorStream ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÕ´Ï´Ù.
 Process start ()
          ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ ¼Ó¼ºÀ» »ç¿ëÇØ »õ·Î¿î ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇÕ´Ï´Ù.
 
Ŭ·¡½º java.lang. Object ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

»ý¼ºÀÚ »ó¼¼

ProcessBuilder

public ProcessBuilder(List <String > command)
ÁöÁ¤µÈ operating system ÇÁ·Î±×·¥°ú Àμö¸¦ °¡Áö´Â ÇÁ·Î¼¼½ººñ¸£´Ù¸¦ ±¸ÃàÇÕ´Ï´Ù. ÀÌ »ý¼ºÀÚ´Â command ¸®½ºÆ®ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÏÁö ¾Ê½À´Ï´Ù. ÀÌÈÄÀÇ ¸®½ºÆ®ÀÇ °»½ÅÀº, ÇÁ·Î¼¼½ººñ¸£´Ù »óÅ¿¡ ¹Ý¿µµË´Ï´Ù. command °¡ À¯È¿ÇÑ operating system Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
command - ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ ¸®½ºÆ®
¿¹¿Ü:
NullPointerException - Àμö°¡ null °æ¿ì

ProcessBuilder

public ProcessBuilder(String ... command)
ÁöÁ¤µÈ operating system ÇÁ·Î±×·¥°ú Àμö¸¦ °¡Áö´Â ÇÁ·Î¼¼½ººñ¸£´Ù¸¦ ±¸ÃàÇÕ´Ï´Ù. ÀÌ »ý¼ºÀÚ´Â command ¹è¿­°ú °°Àº ij¸¯ÅÍ ¶óÀÎÀ» Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¸®½ºÆ®¿¡ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ Ä¿¸àµå¸¦ °°Àº ¼ø¼­·Î ¼³Á¤ÇÏ´Â °£ÀÌ »ý¼ºÀÚ ÀÔ´Ï´Ù. command °¡ À¯È¿ÇÑ operating system Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
command - ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¹è¿­
¸Þ¼­µåÀÇ »ó¼¼

command

public ProcessBuilder  command(List <String > command)
ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ operating system ÇÁ·Î±×·¥°ú Àμö¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ¸Þ¼­µå´Â command ¸®½ºÆ®ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÏÁö ¾Ê½À´Ï´Ù. ÀÌÈÄÀÇ ¸®½ºÆ®ÀÇ °»½ÅÀº, ÇÁ·Î¼¼½ººñ¸£´Ù »óÅ¿¡ ¹Ý¿µµË´Ï´Ù. command °¡ À¯È¿ÇÑ operating system Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
command - ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ ¸®½ºÆ®
¹Ýȯ°ª:
ÇÁ·Î¼¼½ººñ¸£´Ù
¿¹¿Ü:
NullPointerException - Àμö°¡ null °æ¿ì

command

public ProcessBuilder  command(String ... command)
ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ operating system ÇÁ·Î±×·¥°ú Àμö¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ »ý¼ºÀÚ´Â command ¹è¿­°ú °°Àº ij¸¯ÅÍ ¶óÀÎÀ» Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¸®½ºÆ®¿¡ Ä¿¸àµå¸¦ °°Àº ¼ø¼­·Î ¼³Á¤ÇÏ´Â °£ÀÌ ¸Þ¼­µåÀÔ´Ï´Ù. command °¡ À¯È¿ÇÑ operating system Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
command - ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¹è¿­
¹Ýȯ°ª:
ÀÌ ÇÁ·Î¼¼½ººñ¸£´Ù

command

public List <String > command()
ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ operating system ÇÁ·Î±×·¥°ú Àμö¸¦ µ¹·ÁÁÝ´Ï´Ù. µ¹·ÁÁÖ°íÁø ¸®½ºÆ®´Â Ä«Çǰ¡ ¾Æ´Õ´Ï´Ù. ÀÌÈÄÀÇ ¸®½ºÆ®ÀÇ °»½ÅÀº, ÇÁ·Î¼¼½ººñ¸£´Ù »óÅ¿¡ ¹Ý¿µµË´Ï´Ù.

¹Ýȯ°ª:
ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö

environment

public Map <String,
String > environment()
ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ È¯°æÀÇ Ä³¸¯ÅÍ ¶óÀÎ ¸ÊÀÇ ºä¸¦ µ¹·ÁÁÝ´Ï´Ù. ÇÁ·Î¼¼½ººñ¸£´Ù°¡ ÀÛ¼ºµÉ ¶§¸¶´Ù, ȯ°æÀº ÇöÀçÀÇ ÇÁ·Î¼¼½º ȯ°æÀÇ Ä«ÇÇ¿¡ ÃʱâÈ­µË´Ï´Ù (System.getenv() ¸¦ ÂüÁ¶). ÀÌ ¿ÀºêÁ§Æ®ÀÇ start() ¸Þ¼­µå·Î ½ÃÀ۵Ǵ ÀÌÈÄÀÇ ¼­ºê ÇÁ·Î¼¼½º´Â ÀÌ ¸ÊÀ» ȯ°æÀ¸·Î¼­ »ç¿ëÇÕ´Ï´Ù.

µ¹·ÁÁÖ°íÁø ¿ÀºêÁ§Æ®´Â º¸Åë Map ¿ÀÆÛ·¹À̼ÇÀ» »ç¿ëÇØ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ º¯°æÀº,start() ¸Þ¼­µå¸¦ »ç¿ëÇØ ½ÃÀÛµÈ ¼­ºê ÇÁ·Î¼¼½º·Î °¡½ÃÀÔ´Ï´Ù. 2 °³ÀÇ ProcessBuilder ÀνºÅϽº´Â Ç×»ó µ¶¸³ÇÑ ÇÁ·Î¼¼½º ȯ°æÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡ µ¹·ÁÁÖ°íÁø ¸ÊÀº, ´Ù¸¥ ProcessBuilder ÀνºÅϽº³ª,System.getenv ·Î µ¹·ÁÁÖ°íÁø °ª¿¡ ¹Ý¿µµÉ °ÍÀº ¾ø½À´Ï´Ù.

½Ã½ºÅÛÀÌ È¯°æ º¯¼ö¸¦ ¼­Æ÷Æ®Çϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â ÇÏ´ÃÀÇ ¸ÊÀÌ µ¹·ÁÁÖ°íÁý´Ï´Ù.

µ¹·ÁÁÖ°íÁø ¸ÊÀº, null Ű³ª °ªÀ» Çã¿ë ÇÏÁö ¾Ê½À´Ï´Ù. null Ű³ª °ªÀ» »ðÀÔÇϰųª À̰͵éÀÌ ÀÖ´ÂÁö Á¶È¸Çϸé,NullPointerException °¡ Throw µË´Ï´Ù. String ÇüÀÌ ¾Æ´Ñ Ű³ª °ªÀÌ ÀÖ´ÂÁö Á¶È¸Çϸé,ClassCastException °¡ Throw µË´Ï´Ù.

µ¹·ÁÁÖ°íÁø ¸ÊÀÇ µ¿ÀÛÀº ½Ã½ºÅÛ¿¡ Á¸ÇÕ´Ï´Ù. ȯ°æ º¯¼öÀÇ º¯°æÀ» Çã°¡ÇÏÁö ¾Ê´Â ½Ã½ºÅÛÀÌ ÀÖÀ¸¸é, ƯÁ¤ÀÇ º¯¼ö¸íÀ̳ª °ªÀÌ ±ÝÁöµÇ´Â ½Ã½ºÅÛµµ ÀÖ½À´Ï´Ù. ÀÌ ÀÌÀ¯·ÎºÎÅÍ, operating system·Î º¯°æÀÌ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ¸ÊÀ» º¯°æÇÏ·Á°í Çϸé,UnsupportedOperationException ³ª IllegalArgumentException ·Î ½ÇÆÐÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.

ȯ°æ º¯¼ö¸í°ú ȯ°æ º¯¼öÀÇ °ªÀÇ ¿ÜºÎ Çü½ÄÀº ½Ã½ºÅÛ¿¡ Á¸ÇϹǷΠȯ°æ º¯¼ö¸í°ú ȯ°æ º¯¼öÀÇ °ª°ú Java Unicode ij¸¯ÅÍ ¶óÀΰúÀÇ »çÀÌ¿¡ 1 ´ë 1 ¸ÅÇÎ °ü°è°¡ ¾øÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ±× °æ¿ì¿¡¼­µµ, Java ÄÚµå·Î º¯°æµÇ¾î ÀÖÁö ¾ÊÀº ȯ°æ º¯¼ö°¡, ¼­ºê ÇÁ·Î¼¼½º¿¡¼­µµ º¯°æµÇ¾î ÀÖÁö ¾ÊÀº ³×ÀÌÆ¼ºêÀΠǥÇöÀ» °¡Áöµµ·Ï ¸ÊÀº ±¸ÇöµË´Ï´Ù.

µ¹·ÁÁÖ°íÁø ¸Ê°ú ±× ÄÚ·¹Å©¼Çºä´Â Object.equals(java.lang.Object) ¸Þ¼­µå¿Í Object.hashCode() ¸Þ¼­µåÀÇ ¹ü¿ë ±Ô¾à¿¡ µû¸£Áö ¾ÊÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.

µ¹·ÁÁÖ°íÁø ¸ÊÀº, ÀϹÝÀûÀ¸·Î ¸ðµç Ç÷§Æû¿¡¼­ ´ë¹®ÀÚ¿Í ¼Ò¹®ÀÚ¸¦ ±¸º°ÇÕ´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â RuntimePermission ("getenv. *") ¾×¼¼½º±ÇÀ» »ç¿ëÇØ checkPermission ¸Þ¼­µå°¡ ºÒ·Á °©´Ï´Ù. ÀÌ °á°ú,SecurityException °¡ Throw µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

Java ¼­ºê ÇÁ·Î¼¼½º¿¡ Á¤º¸¸¦ °Ç³×ÁÖ´Â °æ¿ì, ȯ°æ º¯¼öº¸´Ù½Ã½ºÅÛ ÇÁ·ÎÆÛƼ°¡ Ãßõ µÇ°í ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ È¯°æ
¿¹¿Ü:
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ,checkPermission ¸Þ¼­µå°¡ ÇÁ·Î¼¼½º ȯ°æ¿¡ÀÇ ¾×¼¼½º¸¦ Çã°¡ÇÏÁö ¾ÊÀ» ¶§
°ü·Ã Ç׸ñ:
Runtime.exec(String[], String[], java.io.File), System.getenv()

directory

public File  directory()
ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ ÀÛ¾÷ µð·ºÅ丮¸¦ µ¹·ÁÁÝ´Ï´Ù. ÀÌ ÀÌÈÄ, ÀÌ ¿ÀºêÁ§Æ®ÀÇ start() ¸Þ¼­µå¿¡ ÇØ ½ÃÀÛµÈ ¼­ºê ÇÁ·Î¼¼½º´Â ÀÌ µð·ºÅ丮¸¦ ÀÛ¾÷ µð·ºÅ丮·Î¼­ »ç¿ëÇÕ´Ï´Ù. µ¹·ÁÁÖ°íÁø °ªÀº,null °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. À̰ÍÀº, ÇöÀçÀÇ Java ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮 (ÀϹÝÀûÀ¸·Î user.dir ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ·Î ÁöÁ¤µÈ µð·ºÅ丮)¸¦ child processÀÇ ÀÛ¾÷ µð·ºÅ丮·Î¼­ »ç¿ëÇÏ´Â °ÍÀ» ¹ÌÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ ÀÛ¾÷ µð·ºÅ丮

directory

public ProcessBuilder  directory(File  directory)
ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ ÀÛ¾÷ µð·ºÅ丮¸¦ ¼³Á¤ÇÕ´Ï´Ù. ÀÌ ÀÌÈÄ, ÀÌ ¿ÀºêÁ§Æ®ÀÇ start() ¸Þ¼­µå·Î ½ÃÀÛµÈ ¼­ºê ÇÁ·Î¼¼½º´Â ÀÌ µð·ºÅ丮¸¦ ÀÛ¾÷ µð·ºÅ丮·Î¼­ »ç¿ëÇÕ´Ï´Ù. Àμö´Â null °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. À̰ÍÀº, ÇöÀçÀÇ Java ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮 (ÀϹÝÀûÀ¸·Î user.dir ½Ã½ºÅÛ ÇÁ·ÎÆÛƼ·Î ÁöÁ¤µÈ µð·ºÅ丮)¸¦ child processÀÇ ÀÛ¾÷ µð·ºÅ丮·Î¼­ »ç¿ëÇÏ´Â °ÍÀ» ¹ÌÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
directory - »õ·Î¿î ÀÛ¾÷ µð·ºÅ丮
¹Ýȯ°ª:
ÀÌ ÇÁ·Î¼¼½ººñ¸£´Ù

redirectErrorStream

public boolean redirectErrorStream()
ÀÌ ÇÁ·Î¼¼½ººñ¸£´Ù°¡ Ç¥ÁØ ¿¡·¯¿Í Ç¥ÁØ Ãâ·ÂÀ» ¸ÓÁö ÇÒÁö ¾î¶³Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.

ÀÌ ÇÁ·ÎÆÛƼ°¡ true °æ¿ì, ÀÌ ¿ÀºêÁ§Æ®ÀÇ start() ¸Þ¼­µå·Î ±× ÀÌÈÄ ½ÃÀÛµÈ ¼­ºê ÇÁ·Î¼¼½º¿¡ ÇØ »ý¼ºµÇ´Â ¿¡·¯ Ãâ·ÂÀº, Ç¥ÁØ Ãâ·Â°ú ¸ÓÁö µË´Ï´Ù. À̰Ϳ¡ ÇØ,Process.getInputStream() ¸Þ¼­µå¸¦ »ç¿ëÇØ, ¿¡·¯ Ãâ·Â°ú Ç¥ÁØ Ãâ·ÂÀÇ ¾çÂÊ ¸ðµÎ¸¦ Àо ¼ö°¡ ÀÖ½À´Ï´Ù. ¸ÓÁö¿¡ ÇØ, ¿¡·¯ ¸Þ¼¼Áö¿Í ´ëÀÀÇÏ´Â Ãâ·Â°úÀÇ »ó°üÀ» ³ªÅ¸³»´Â °ÍÀÌ ¿ëÀÌÇÏ°Ô µË´Ï´Ù. ÃʱâÄ¡´Â false ÀÔ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ redirectErrorStream ÇÁ·ÎÆÛƼ

redirectErrorStream

public ProcessBuilder  redirectErrorStream(boolean redirectErrorStream)
ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ redirectErrorStream ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÕ´Ï´Ù.

ÀÌ ÇÁ·ÎÆÛƼ°¡ true °æ¿ì, ÀÌ ¿ÀºêÁ§Æ®ÀÇ start() ¸Þ¼­µå·Î ±× ÀÌÈÄ ½ÃÀÛµÈ ¼­ºê ÇÁ·Î¼¼½º¿¡ ÇØ »ý¼ºµÇ´Â ¿¡·¯ Ãâ·ÂÀº, Ç¥ÁØ Ãâ·Â°ú ¸ÓÁö µË´Ï´Ù. À̰Ϳ¡ ÇØ,Process.getInputStream() ¸Þ¼­µå¸¦ »ç¿ëÇØ, ¿¡·¯ Ãâ·Â°ú Ç¥ÁØ Ãâ·ÂÀÇ ¾çÂÊ ¸ðµÎ¸¦ Àо ¼ö°¡ ÀÖ½À´Ï´Ù. ¸ÓÁö¿¡ ÇØ, ¿¡·¯ ¸Þ¼¼Áö¿Í ´ëÀÀÇÏ´Â Ãâ·Â°úÀÇ »ó°üÀ» ³ªÅ¸³»´Â °ÍÀÌ ¿ëÀÌÇÏ°Ô µË´Ï´Ù. ÃʱâÄ¡´Â false ÀÔ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
redirectErrorStream - »õ·Î¿î ÇÁ·ÎÆÛƼÀÇ °ª
¹Ýȯ°ª:
ÀÌ ÇÁ·Î¼¼½ººñ¸£´Ù

start

public Process  start()
              throws IOException 
ÀÌ ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ ¼Ó¼ºÀ» »ç¿ëÇØ »õ·Î¿î ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇÕ´Ï´Ù.

ÀÌ »õ·Î¿î ÇÁ·Î¼¼½º´Â directory() ·Î ÁöÁ¤µÈ ÀÛ¾÷ µð·ºÅ丮ÀÇ,environment() ·Î ÁöÁ¤µÈ ÇÁ·Î¼¼½º ȯ°æÀ» °¡Áö´Â command() ·Î ÁöÁ¤µÈ Ä¿¸àµå¿Í Àμö¸¦ È£ÃâÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå´Â Ä¿¸àµå°¡ À¯È¿ÇÑ operating system Ä¿¸àµåÀÎ °ÍÀ» üũÇÕ´Ï´Ù. ¾î´À Ä¿¸àµå°¡ À¯È¿ÇѰ¡ ¾î¶²°¡´Â ½Ã½ºÅÛ Á¸ÀÔ´Ï´Ù¸¸, Ä¿¸àµå´Â Àû¾îµµ null ÀÌ¿ÜÀÇ Ä³¸¯ÅÍ ¶óÀÎÀÇ ÇÏ´ÃÀÌ ¾Æ´Ñ ¸®½ºÆ®°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.

½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â command ¹è¿­ÀÇ ÃÖÃÊÀÇ ÄÄÆÛ³ÍÆ®¸¦ Àμö·Î¼­ »ç¿ëÇØ checkExec ¸Þ¼­µå°¡ ºÒ·Á °©´Ï´Ù. ÀÌ °á°ú,SecurityException °¡ Throw µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

operating system ÇÁ·Î¼¼½ºÀÇ ½ÃÀÛÀº Áö±ØÈ÷ ½Ã½ºÅÛ¿¡ Á¸ÇÕ´Ï´Ù. ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ´Â ºÒÆíÀº ´ÙÀ½°ú °°½À´Ï´Ù.

ÀÌ»óÀÇ ÄÉÀ̽º¿¡¼­´Â ¿¹¿Ü°¡ Throw µË´Ï´Ù. ¿¹¿ÜÀÇ Á¤È®ÇÑ Æ¯¼ºÀº ½Ã½ºÅÛ¿¡ Á¸ÇÕ´Ï´Ù¸¸, ¿¹¿Ü´Â Ç×»ó IOException ¼­ºê Ŭ·¡½º°¡ µË´Ï´Ù.

ÀÌ ÇÁ·Î¼¼½ººñ¸£´Ù¿¡ÀÇ ÀÌÈÄÀÇ º¯°æÀº, µ¹·ÁÁÖ°íÁø Process ¿¡ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê½À´Ï´Ù.

¹Ýȯ°ª:
¼­ºê ÇÁ·Î¼¼½º¸¦ °ü¸®Çϱâ À§ÇÑ »õ·Î¿î Process ¿ÀºêÁ§Æ®
¿¹¿Ü:
NullPointerException - Ä¿¸àµå ¸®½ºÆ®ÀÇ ¿ä¼Ò°¡ null °æ¿ì
IndexOutOfBoundsException - Ä¿¸àµå°¡ ÇÏ´Ã (»çÀÌÁî°¡ 0)ÀÇ ¸®½ºÆ®ÀÇ °æ¿ì
SecurityException - ½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇØ,checkExec ¸Þ¼­µå°¡ ¼­ºê ÇÁ·Î¼¼½ºÀÇ ÀÛ¼ºÀ» Çã°¡ÇÏÁö ¾Ê´Â °æ¿ì
IOException - ÀÔÃâ·Â ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì
°ü·Ã Ç׸ñ:
Runtime.exec(String[], String[], java.io.File), SecurityManager.checkExec(String)

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.