2014-05-22 3 views
0

동일한 프로그램에서 두 개의 프로세스 빌더를 사용하고 싶습니다. 어떻게하면이 두 프로세스 작성자가 같은 파일에서 다른 작업을 수행하는지 어떻게 둘 다 함께 실행할 수 있습니까?프로그램의 다중 프로세스 작성자

ProcessBuilder pb = new ProcessBuilder("nusmv ", "inputfile.smv"); 
       Process p = pb.start(); 


ProcessBuilder pb123 = new ProcessBuilder("nusmv","-int","inputfile.smv"); 
      Process process123 = pb123.start(); 

두 번째 프로세스 작성자는 무시되었습니다. 두 번째 프로세스 작성자는 무시되었습니다.

+0

나는 그렇게 생각하지 않는다 – rpax

+0

pb.start()가 무한 루프에 걸려 들었습니까? –

+0

첫 번째 프로세스 빌더의 결과를 두 번째로 무시합니다. – student1

답변

0

내가 생각할 수있는 두 가지 문제가 있습니다. 1. 프로세스를 호출하여 각 프로세스가 완료되기 전에 프로세스가 완료되도록합니다. 2. 한 프로세스의 출력 및 오류 스트림을 다른 프로세스로 플러시하기 전에 다른 프로세스로 플러시하십시오. 많은 운영 체제는 표준 입력 및 출력 스트림에 대해 제한된 메모리 버퍼를 제공합니다. 따라서 스트림을 즉시 플러시하거나 처리하지 않으면 프로세스가 중단되거나 심지어 교착 상태가 발생할 수 있습니다. 자세한 정보는이 링크를 참조하십시오. http://www.javaworld.com/article/2071275/core-java/when-runtime-exec---won-t.html

관련 문제