JavaTM Platform
Standard Ed. 6

java.lang
클래스 Process

java.lang.Object 
  상위를 확장 java.lang.Process


public abstract class Process
extends Object

ProcessBuilder.start() 메소드와 Runtime.exec 메소드는, 네이티브인 프로세스를 작성해,Process 의 서브 클래스의 인스턴스를 돌려줍니다. 이 인스턴스를 사용해, 프로세스의 제어나, 프로세스 정보의 취득 을 할 수가 있습니다. Process 클래스는, 프로세스로부터의 입력, 프로세스에의 출력, 프로세스 완료의 대기, 프로세스 종료 상태의 확인, 및 프로세스의 파기 (종료)를 실행하기 위한 각 메소드를 제공합니다.

예를 들어, 네이티브인 윈도우 처리 프로세스, demon 프로세스, Microsoft Windows 환경에서의 Win16/DOS 프로세스, 혹은 셸 스크립트라고 하는 프로세스입니다. 작성된 서브 프로세스는, 자신의 단말 또는 콘솔을 가지지 않습니다. 서브 프로세스의 표준 입출력 처리 (즉 stdin, stdout, 및 stderr)는, 3 개의 스트림 (getOutputStream() ,getInputStream() ,getErrorStream() )에 의해 parent process에 리다이렉트(redirect) 됩니다. parent process는 이러한 스트림을 사용해, 서브 프로세스에 입력을 보내거나 서브 프로세스로부터의 출력을 취득하거나 합니다. 네이티브인 플랫폼에는 표준 입출력 스트림에 사용하는 버퍼의 사이즈가 한정되는 것도 있으므로, 서브 프로세스의 입력 스트림의 기입해 혹은 스트림 출력의 read가 실패했을 경우, 서브 프로세스는 블록 되는지, 데드락 상태가 될 가능성이 있습니다.

Process 객체에의 참조가 없어졌을 경우에서도, 서브 프로세스는 종료되지 않고, 비동기적으로 실행을 계속합니다.

Process 객체가 나타내는 프로세스의 실행에 대해서는,Process 객체를 소유하는 Java 프로세스와 비동기가 아니기도 하고, 병행이 아니거나 해도 괜찮습니다.

도입된 버젼:
JDK1. 0
관련 항목:
ProcessBuilder , Runtime.exec(String[], String[], File)

생성자 의 개요
Process ()
           
 
메소드의 개요
abstract  void destroy ()
          서브 프로세스를 종료합니다.
abstract  int exitValue ()
          서브 프로세스의 종료 코드를 돌려줍니다.
abstract  InputStream getErrorStream ()
          서브 프로세스의 에러 스트림을 가져옵니다.
abstract  InputStream getInputStream ()
          서브 프로세스의 입력 스트림을 가져옵니다.
abstract  OutputStream getOutputStream ()
          서브 프로세스의 출력 스트림을 가져옵니다.
abstract  int waitFor ()
          필요한 경우에, 이 Process 객체가 나타내는 프로세스가 종료할 때까지 현재의 thread를 대기시킵니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

Process

public Process()
메소드의 상세

getOutputStream

public abstract OutputStream  getOutputStream()
서브 프로세스의 출력 스트림을 가져옵니다. 스트림에의 출력은, 이 Process 객체가 나타내는 프로세스의 표준 입력 스트림에게 건네집니다.  

구현상의 주의:출력 스트림의 버퍼 처리를 추천합니다.

반환값:
서브 프로세스의 일반적으로의 입력에 접속된 출력 스트림

getInputStream

public abstract InputStream  getInputStream()
서브 프로세스의 입력 스트림을 가져옵니다. 스트림은, 이 Process 객체가 나타내는 프로세스의 표준 출력 스트림로부터 건네받은 데이터를 가져옵니다.  

구현상의 주의:입력 스트림의 버퍼 처리를 추천합니다.

반환값:
서브 프로세스의 일반적으로의 출력에 접속된 입력 스트림
관련 항목:
ProcessBuilder.redirectErrorStream()

getErrorStream

public abstract InputStream  getErrorStream()
서브 프로세스의 에러 스트림을 가져옵니다. 스트림은, 이 Process 객체가 나타내는 프로세스의 에러 출력 스트림로부터 건네받은 데이터를 가져옵니다.  

구현상의 주의:입력 스트림의 버퍼 처리를 추천합니다.

반환값:
서브 프로세스의 에러 스트림에 접속된 입력 스트림
관련 항목:
ProcessBuilder.redirectErrorStream()

waitFor

public abstract int waitFor()
                     throws InterruptedException 
필요한 경우에, 이 Process 객체가 나타내는 프로세스가 종료할 때까지 현재의 thread를 대기시킵니다. 서브 프로세스가 벌써 종료하고 있는 경우, 이 메소드는 즉시 복귀합니다. 서브 프로세스가 종료하고 있지 않는 경우, 호출측 thread는 서브 프로세스가 종료할 때까지 블록 됩니다.

반환값:
프로세스의 종료 코드. 일반적으로은,0 은 정상 종료를 나타낸다
예외:
InterruptedException - 현재의 thread가 대기중에 다른 thread에 의해끼어들어졌을 경우, 대기를 종료해 InterruptedException 가 throw 된다

exitValue

public abstract int exitValue()
서브 프로세스의 종료 코드를 돌려줍니다.

반환값:
Process 객체가 나타내는 서브 프로세스의 종료 코드. 0 은 정상 종료를 나타낸다
예외:
IllegalThreadStateException - 이 Process 객체가 나타내는 서브 프로세스가 아직 종료하고 있지 않는 경우

destroy

public abstract void destroy()
서브 프로세스를 종료합니다. 이 Process 객체가 나타내는 서브 프로세스는 강제 종료됩니다.


JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.