|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.lang.ProcessBuilder
public final class ProcessBuilder
ÀÌ Å¬·¡½º´Â operating systemÀÇ ÇÁ·Î¼¼½ºÀÇ ÀÛ¼º¿¡ »ç¿ëµË´Ï´Ù.
°¢ ProcessBuilder
ÀνºÅϽº´Â
ÇÁ·Î¼¼½º ¼Ó¼ºÀÇ Ä÷º¼ÇÀ» °ü¸®ÇÕ´Ï´Ù. start()
¸Þ¼µå´Â
ÀÌ·¯ÇÑ ¼Ó¼ºÀ» °¡Áö´Â »õ·Î¿î Process
ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù. °°Àº ÀνºÅϽº·ÎºÎÅÍ start()
¸Þ¼µå¸¦ ¹Ýº¹ÇØ È£ÃâÇØ, µ¿ÀÏÇÑ ¼Ó¼º ¶Ç´Â °ü·ÃµÈ ¼Ó¼ºÀ» °¡Áö´Â »õ·Î¿î ¼ºê ÇÁ·Î¼¼½º¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
°¢ ÇÁ·Î¼¼½ººñ¸£´Ù´Â ´ÙÀ½ÀÇ ÇÁ·Î¼¼½º ¼Ó¼ºÀ» °ü¸®ÇÕ´Ï´Ù.
System.getenv()
¸¦
ÂüÁ¶).
user.dir
·Î À̸§À» ºÙÀÏ ¼ö ÀÖ¾ú´ø µð·ºÅ丮ÀÔ´Ï´Ù.
false
ÀÔ´Ï´Ù. Áï, ¼ºê ÇÁ·Î¼¼½ºÀÇ Ç¥ÁØ Ãâ·Â°ú ¿¡·¯ Ãâ·ÂÀº, 2 °³ÀÇ µ¶¸³ÇÑ ½ºÆ®¸²¿¡ ¼Û½ÅµË´Ï´Ù. ÀÌ·¯ÇÑ Ãâ·Â¿¡´Â Process.getInputStream()
¸Þ¼µå¿Í Process.getErrorStream()
¸Þ¼µå¸¦ »ç¿ëÇØ ¾×¼¼½º ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °ªÀ» true
·Î ¼³Á¤Çϸé, Ç¥ÁØ ¿¡·¯´Â Ç¥ÁØ Ãâ·Â¿¡ ¸ÓÁö µË´Ï´Ù. ¸ÓÁö Çϸé, ´ëÀÀÇÏ´Â Ãâ·ÂÀ» Æ÷ÇÔÇÑ ¿¡·¯ ¸Þ¼¼Áö¿ÍÀÇ »ó°üÀ» ³ªÅ¸³»´Â °ÍÀÌ ¿ëÀÌÇÏ°Ô µË´Ï´Ù. ÀÌ °æ¿ì, ¸ÓÁö µÈ µ¥ÀÌÅÍ´Â
Process.getInputStream()
°¡ µ¹·ÁÁÖ´Â ½ºÆ®¸²·ÎºÎÅÍ Àо ¼ö°¡ ÀÖ½À´Ï´Ù¸¸,Process.getErrorStream()
°¡ µ¹·ÁÁÖ´Â ½ºÆ®¸²À» Àо¸é, ÆÄÀÏÀÇ ¸¶Áö¸·¿¡ °ð ´ÞÇÕ´Ï´Ù.
ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ ¼Ó¼ºÀ» º¯°æÇϸé, ¼Ó¼ºÀ» º¯°æÇÑ ¿ÀºêÁ§Æ®ÀÇ 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()
¸¦
È£ÃâÇÏ°í ³ª¼, ȯ°æ º¯¼ö¸¦ Ãß°¡ÇÕ´Ï´Ù.
»ý¼ºÀÚ °³¿ä | |
---|---|
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 |
»ý¼ºÀÚ »ó¼¼ |
---|
public ProcessBuilder(List <String > command)
command
¸®½ºÆ®ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÏÁö ¾Ê½À´Ï´Ù. ÀÌÈÄÀÇ ¸®½ºÆ®ÀÇ °»½ÅÀº, ÇÁ·Î¼¼½ººñ¸£´Ù »óÅ¿¡ ¹Ý¿µµË´Ï´Ù. command
°¡ À¯È¿ÇÑ operating system Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.
command
- ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ ¸®½ºÆ®
NullPointerException
- Àμö°¡ null
°æ¿ìpublic ProcessBuilder(String ... command)
command
¹è¿°ú °°Àº ij¸¯ÅÍ ¶óÀÎÀ» Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¸®½ºÆ®¿¡
ÇÁ·Î¼¼½ººñ¸£´ÙÀÇ Ä¿¸àµå¸¦ °°Àº ¼ø¼·Î ¼³Á¤ÇÏ´Â °£ÀÌ »ý¼ºÀÚ
ÀÔ´Ï´Ù. command
°¡ À¯È¿ÇÑ operating system Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.
command
- ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¹è¿¸Þ¼µåÀÇ »ó¼¼ |
---|
public ProcessBuilder command(List <String > command)
command
¸®½ºÆ®ÀÇ Ä«ÇǸ¦ ÀÛ¼ºÇÏÁö ¾Ê½À´Ï´Ù. ÀÌÈÄÀÇ ¸®½ºÆ®ÀÇ °»½ÅÀº, ÇÁ·Î¼¼½ººñ¸£´Ù »óÅ¿¡ ¹Ý¿µµË´Ï´Ù. command
°¡ À¯È¿ÇÑ operating system Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.
command
- ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ ¸®½ºÆ®
NullPointerException
- Àμö°¡ null
°æ¿ìpublic ProcessBuilder command(String ... command)
command
¹è¿°ú °°Àº ij¸¯ÅÍ ¶óÀÎÀ» Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¸®½ºÆ®¿¡ Ä¿¸àµå¸¦ °°Àº ¼ø¼·Î ¼³Á¤ÇÏ´Â °£ÀÌ ¸Þ¼µåÀÔ´Ï´Ù. command
°¡ À¯È¿ÇÑ operating system Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.
command
- ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¹è¿
public List <String > command()
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()
public File directory()
start()
¸Þ¼µå¿¡
ÇØ ½ÃÀÛµÈ ¼ºê ÇÁ·Î¼¼½º´Â
ÀÌ µð·ºÅ丮¸¦ ÀÛ¾÷ µð·ºÅ丮·Î¼ »ç¿ëÇÕ´Ï´Ù. µ¹·ÁÁÖ°íÁø °ªÀº,null
°¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. À̰ÍÀº, ÇöÀçÀÇ Java ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮 (ÀϹÝÀûÀ¸·Î user.dir
½Ã½ºÅÛ ÇÁ·ÎÆÛƼ·Î ÁöÁ¤µÈ µð·ºÅ丮)¸¦ child processÀÇ ÀÛ¾÷ µð·ºÅ丮·Î¼ »ç¿ëÇÏ´Â °ÍÀ»
¹ÌÇÕ´Ï´Ù.
public ProcessBuilder directory(File directory)
start()
¸Þ¼µå·Î ½ÃÀÛµÈ ¼ºê ÇÁ·Î¼¼½º´Â
ÀÌ µð·ºÅ丮¸¦ ÀÛ¾÷ µð·ºÅ丮·Î¼ »ç¿ëÇÕ´Ï´Ù. Àμö´Â
null
°¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. À̰ÍÀº, ÇöÀçÀÇ Java ÇÁ·Î¼¼½ºÀÇ ÀÛ¾÷ µð·ºÅ丮 (ÀϹÝÀûÀ¸·Î user.dir
½Ã½ºÅÛ ÇÁ·ÎÆÛƼ·Î ÁöÁ¤µÈ µð·ºÅ丮)¸¦ child processÀÇ ÀÛ¾÷ µð·ºÅ丮·Î¼ »ç¿ëÇÏ´Â °ÍÀ»
¹ÌÇÕ´Ï´Ù.
directory
- »õ·Î¿î ÀÛ¾÷ µð·ºÅ丮
public boolean redirectErrorStream()
ÀÌ ÇÁ·ÎÆÛƼ°¡ true
°æ¿ì, ÀÌ ¿ÀºêÁ§Æ®ÀÇ start()
¸Þ¼µå·Î ±× ÀÌÈÄ ½ÃÀÛµÈ ¼ºê ÇÁ·Î¼¼½º¿¡
ÇØ »ý¼ºµÇ´Â ¿¡·¯ Ãâ·ÂÀº, Ç¥ÁØ Ãâ·Â°ú ¸ÓÁö µË´Ï´Ù. À̰Ϳ¡
ÇØ,Process.getInputStream()
¸Þ¼µå¸¦ »ç¿ëÇØ, ¿¡·¯ Ãâ·Â°ú Ç¥ÁØ Ãâ·ÂÀÇ ¾çÂÊ ¸ðµÎ¸¦ Àо ¼ö°¡ ÀÖ½À´Ï´Ù. ¸ÓÁö¿¡
ÇØ, ¿¡·¯ ¸Þ¼¼Áö¿Í ´ëÀÀÇÏ´Â Ãâ·Â°úÀÇ »ó°üÀ» ³ªÅ¸³»´Â °ÍÀÌ ¿ëÀÌÇÏ°Ô µË´Ï´Ù. ÃʱâÄ¡´Â false
ÀÔ´Ï´Ù.
redirectErrorStream
ÇÁ·ÎÆÛƼpublic ProcessBuilder redirectErrorStream(boolean redirectErrorStream)
redirectErrorStream
ÇÁ·ÎÆÛƼ¸¦ ¼³Á¤ÇÕ´Ï´Ù.
ÀÌ ÇÁ·ÎÆÛƼ°¡ true
°æ¿ì, ÀÌ ¿ÀºêÁ§Æ®ÀÇ start()
¸Þ¼µå·Î ±× ÀÌÈÄ ½ÃÀÛµÈ ¼ºê ÇÁ·Î¼¼½º¿¡
ÇØ »ý¼ºµÇ´Â ¿¡·¯ Ãâ·ÂÀº, Ç¥ÁØ Ãâ·Â°ú ¸ÓÁö µË´Ï´Ù. À̰Ϳ¡
ÇØ,Process.getInputStream()
¸Þ¼µå¸¦ »ç¿ëÇØ, ¿¡·¯ Ãâ·Â°ú Ç¥ÁØ Ãâ·ÂÀÇ ¾çÂÊ ¸ðµÎ¸¦ Àо ¼ö°¡ ÀÖ½À´Ï´Ù. ¸ÓÁö¿¡
ÇØ, ¿¡·¯ ¸Þ¼¼Áö¿Í ´ëÀÀÇÏ´Â Ãâ·Â°úÀÇ »ó°üÀ» ³ªÅ¸³»´Â °ÍÀÌ ¿ëÀÌÇÏ°Ô µË´Ï´Ù. ÃʱâÄ¡´Â false
ÀÔ´Ï´Ù.
redirectErrorStream
- »õ·Î¿î ÇÁ·ÎÆÛƼÀÇ °ª
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 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.