|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
ÀÌÀü Ŭ·¡½º ´ÙÀ½ Ŭ·¡½º | ÇÁ·¹ÀÓÀ¸·Î ÇÁ·¹ÀÓ ¾øÀÌ | |||||||||
°³¿ä: NESTED | Çʵå | constructor | ¸Þ¼µå | »ó¼¼: Çʵå | »ý¼ºÀÚ | ¸Þ¼µå |
java.lang.Objectjava.lang.ProcessBuilder
public final class ProcessBuilder
ÀÌ Å¬·¡½º´Â OS ÀÇ ÇÁ·Î¼¼½ºÀÇ ÀÛ¼º¿¡ »ç¿ëµË´Ï´Ù.
°¢ 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)
ÁöÁ¤µÈ OS ÇÁ·Î±×·¥°ú Àμö¸¦ °¡Áö´Â ÇÁ·Î¼¼½ººô´õ ¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
ProcessBuilder (String ... command)
ÁöÁ¤µÈ OS ÇÁ·Î±×·¥°ú Àμö¸¦ °¡Áö´Â ÇÁ·Î¼¼½ººô´õ ¸¦ ±¸ÃàÇÕ´Ï´Ù. |
¸Þ¼µå °³¿ä | |
---|---|
List <String > |
command ()
ÇÁ·Î¼¼½ººô´õ ÀÇ OS ÇÁ·Î±×·¥°ú Àμö¸¦ ¸®ÅÏÇÕ´Ï´Ù. |
ProcessBuilder |
command (List <String > command)
ÇÁ·Î¼¼½ººô´õ ÀÇ OS ÇÁ·Î±×·¥°ú Àμö¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
ProcessBuilder |
command (String ... command)
ÀÌ ÇÁ·Î¼¼½ººô´õ ÀÇ OS ÇÁ·Î±×·¥°ú Àμö¸¦ ¼³Á¤ÇÕ´Ï´Ù. |
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
°¡ À¯È¿ÇÑ OS
Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.
command
- ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ ¸®½ºÆ®
NullPointerException
- Àμö°¡ null
ÀÎ °æ¿ìpublic ProcessBuilder(String ... command)
command
¹è¿°ú °°Àº ij¸¯ÅÍ ¶óÀÎÀ» Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¸®½ºÆ®¿¡
ÇÁ·Î¼¼½ººô´õ
ÀÇ Ä¿¸àµå¸¦ °°Àº ¼ø¼·Î ¼³Á¤ÇÏ´Â °£ÀÌ »ý¼ºÀÚ
ÀÔ´Ï´Ù. command
°¡ À¯È¿ÇÑ OS
Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.
command
- ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¹è¿¸Þ¼µåÀÇ »ó¼¼ |
---|
public ProcessBuilder command(List <String > command)
command
¸®½ºÆ®ÀÇ º¹»çº»À» ÀÛ¼ºÇÏÁö ¾Ê½À´Ï´Ù. ÀÌÈÄÀÇ ¸®½ºÆ®ÀÇ °»½ÅÀº ÇÁ·Î¼¼½ººô´õ
»óÅ¿¡ ¹Ý¿µµË´Ï´Ù. command
°¡ À¯È¿ÇÑ OS
Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.
command
- ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ ¸®½ºÆ®
NullPointerException
- Àμö°¡ null
ÀÎ °æ¿ìpublic ProcessBuilder command(String ... command)
command
¹è¿°ú °°Àº ij¸¯ÅÍ ¶óÀÎÀ» Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¸®½ºÆ®¿¡ Ä¿¸àµå¸¦ °°Àº ¼ø¼·Î ¼³Á¤ÇÏ´Â °£ÀÌ ¸Þ¼µåÀÔ´Ï´Ù. command
°¡ À¯È¿ÇÑ OS
Ä¿¸àµå¿¡ ´ëÀÀÇÒÁö ¾î¶³Áö´Â üũµÇÁö ¾Ê½À´Ï´Ù.
command
- ÇÁ·Î±×·¥°ú ÇÁ·Î±×·¥ÀÇ Àμö¸¦ Æ÷ÇÔÇÑ Ä³¸¯ÅÍ ¶óÀÎ ¹è¿
public List <String > command()
public Map <String, String > environment()
System.getenv()
¸¦
ÂüÁ¶). ÀÌ °´Ã¼ÀÇ start()
¸Þ¼µå·Î ½ÃÀ۵Ǵ ÀÌÈÄÀÇ ¼ºê ÇÁ·Î¼¼½º´Â ÀÌ ¸ÊÀ» ȯ°æÀ¸·Î¼ »ç¿ëÇÕ´Ï´Ù.
¸®ÅÏµÈ °´Ã¼´Â º¸Åë
Map
¿ÀÆÛ·¹À̼ÇÀ» »ç¿ëÇØ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ º¯°æÀº, start()
¸Þ¼µå¸¦ »ç¿ëÇØ ½ÃÀÛµÈ ¼ºê ÇÁ·Î¼¼½º·Î °¡½ÃÀÔ´Ï´Ù. 2°³ÀÇ ProcessBuilder
ÀνºÅϽº´Â Ç×»ó µ¶¸³ÇÑ ÇÁ·Î¼¼½º ȯ°æÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ ¶§¹®¿¡
¸®ÅÏµÈ ¸ÊÀº ´Ù¸¥ ProcessBuilder
ÀνºÅϽº³ª, System.getenv
·Î ¸®ÅÏµÈ °ª¿¡ ¹Ý¿µµÉ °ÍÀº ¾ø½À´Ï´Ù.
½Ã½ºÅÛÀÌ È¯°æ º¯¼ö¸¦ Áö¿ø Çϰí ÀÖÁö ¾Ê´Â °æ¿ì´Â ºñ¾îÀÖ´Â ¸ÊÀÌ ¸®Åϵ˴ϴ٠.
¸®ÅÏµÈ ¸ÊÀº null
Ű³ª °ªÀ» Çã¿ë ÇÏÁö ¾Ê½À´Ï´Ù. null
Ű³ª °ªÀ» »ðÀÔÇϰųª À̰͵éÀÌ ÀÖ´ÂÁö Á¶È¸Çϸé, NullPointerException
À» ¹ß»ý½Ãŵ´Ï´Ù. String
ÇüÀÌ ¾Æ´Ñ Ű³ª °ªÀÌ ÀÖ´ÂÁö Á¶È¸Çϸé, ClassCastException
À» ¹ß»ý½Ãŵ´Ï´Ù.
¸®ÅÏµÈ ¸ÊÀÇ µ¿ÀÛÀº ½Ã½ºÅÛ¿¡
ÀÇÁ¸ÇÕ´Ï´Ù. ȯ°æ º¯¼öÀÇ º¯°æÀ» Çã°¡ÇÏÁö ¾Ê´Â ½Ã½ºÅÛÀÌ ÀÖÀ¸¸é, ƯÁ¤ÀÇ º¯¼ö¸íÀ̳ª °ªÀÌ ±ÝÁöµÇ´Â ½Ã½ºÅÛµµ ÀÖ½À´Ï´Ù. ÀÌ ÀÌÀ¯·ÎºÎÅÍ, OS
·Î º¯°æÀÌ Çã°¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì, ¸ÊÀ» º¯°æÇÏ·Á°í Çϸé, UnsupportedOperationException
³ª IllegalArgumentException
·Î ½ÇÆÐÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
ȯ°æ º¯¼ö¸í°ú ȯ°æ º¯¼öÀÇ °ªÀÇ ¿ÜºÎ Çü½ÄÀº ½Ã½ºÅÛ¿¡ Á¸ÇϹǷΠȯ°æ º¯¼ö¸í°ú ȯ°æ º¯¼öÀÇ °ª°ú Java Unicode ij¸¯ÅÍ ¶óÀΰúÀÇ »çÀÌ¿¡ 1 ´ë 1 ¸ÅÇÎ °ü°è°¡ ¾øÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù. ±× °æ¿ì¿¡¼µµ, Java ÄÚµå·Î º¯°æµÇ¾î ÀÖÁö ¾ÊÀº ȯ°æ º¯¼ö°¡ ¼ºê ÇÁ·Î¼¼½º¿¡¼µµ º¯°æµÇ¾î ÀÖÁö ¾ÊÀº ³×ÀÌÆ¼ºêÀΠǥÇöÀ» °¡Áöµµ·Ï ¸ÊÀº ±¸ÇöµË´Ï´Ù.
¸®ÅÏµÈ ¸Ê°ú ±× ÄÚ·¹Å©¼Çºä´Â Object.equals(java.lang.Object)
¸Þ¼µå¿Í Object.hashCode()
¸Þ¼µåÀÇ ¹ü¿ë ±Ô¾à¿¡ µû¸£Áö ¾ÊÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù.
¸®ÅÏµÈ ¸ÊÀº ÀϹÝÀûÀ¸·Î ¸ðµç Ç÷§Æû¿¡¼ ´ë¹®ÀÚ¿Í ¼Ò¹®ÀÚ¸¦ ±¸º°ÇÕ´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â
Á¢±Ù ±ÇÇÑÀ» »ç¿ëÇØ RuntimePermission
("getenv. *")checkPermission
¸Þ¼µå°¡ È£ÃâµË´Ï´Ù. ÀÌ °á°ú, SecurityException
ÀÌ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
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()
·Î ÁöÁ¤µÈ Ä¿¸àµå¿Í Àμö¸¦ È£ÃâÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â Ä¿¸àµå°¡ À¯È¿ÇÑ OS Ä¿¸àµåÀÎ °ÍÀ» üũÇÕ´Ï´Ù. ¾î´À Ä¿¸àµå°¡ À¯È¿ÇѰ¡ ¾î¶²°¡´Â ½Ã½ºÅÛ Á¸ÀÔ´Ï´Ù¸¸, Ä¿¸àµå´Â Àû¾îµµ null ÀÌ¿ÜÀÇ Ä³¸¯ÅÍ ¶óÀÎÀÇ ºñ¾îÀÖÁö ¾ÊÀº ¸®½ºÆ®°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.
½ÃÅ¥·¯Æ¼ ¸Å´ÏÀú°¡ Á¸ÀçÇÏ´Â °æ¿ì´Â command
¹è¿ÀÇ ÃÖÃÊÀÇ ÄÄÆÛ³ÍÆ®¸¦ Àμö·Î¼ »ç¿ëÇØ checkExec
¸Þ¼µå°¡ È£ÃâµË´Ï´Ù. ÀÌ °á°ú, SecurityException
ÀÌ ¹ß»ýµÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
OS ÇÁ·Î¼¼½ºÀÇ ½ÃÀÛÀº Áö±ØÈ÷ ½Ã½ºÅÛ¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ´Â ºÒÆíÀº ´ÙÀ½°ú °°½À´Ï´Ù.
ÀÌ»óÀÇ ÄÉÀ̽º¿¡¼´Â ¿¹¿Ü°¡ ¹ß»ý µË´Ï´Ù. ¿¹¿ÜÀÇ Á¤È®ÇÑ Æ¯¼ºÀº ½Ã½ºÅÛ¿¡
ÀÇÁ¸ÇÕ´Ï´Ù¸¸, ¿¹¿Ü´Â Ç×»ó 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 µµ ÂüÁ¶ÇϽʽÿÀ.