# Externe Programm starten



## lafou1 (20. Februar 2006)

Hallo,
Ich hab programmiere eine Anwendung,die externe Programme startet.
ich verwende dafür Runtime.getRuntime().exec(command) ,Das Problem ist: meine Programm bleibt hängen, aber wenn ich command in DOS-Shell ausfüre,dann bleibt nicht hängen.

Hat jemannd eine Idee,woran es liegen kann.?

Danke

Gruss


```
package main;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		try {
			String command1="\""+"C:\\Programme\\Dassault Systemes\\B14"+
"\\intel_a\\code\\command\\tck_init.bat\" && tck_profile.bat "+ "V5R14_B14"+" && cd "+ "C:\\PROInterfaceMerge"+" && mkGetPreq -p "+"\""+"C:\\Programme\\Dassault Systemes\\B14"+"\""
	+" && mkmk -a";
			System.out.println(command1);
			 Process d = Runtime.getRuntime().exec(command1);
			
		
			
			  BufferedReader in = new BufferedReader(new InputStreamReader(d.getInputStream()));
				for (String s; (s = in.readLine()) != null;)
					System.out.println(s);
				
				System.exit(0);
			}
			catch ( Exception ioe ) {
			  System.err.println( "IO error: " + ioe );
			}
		



	}
```


----------



## Thomas Darimont (21. Februar 2006)

Hallo!

Manchmal kann es vorkommen, dass die Datenstroeme der Process Instanz blockieren.
Mach doch einfach mal ein close() auf den OutputStream / den ErrXXXStream der Process Instanz.

Gruss Tom


----------



## lafou1 (23. Februar 2006)

Danke für die schnelle Antwort,
ich hab den Stream geschlossen,trozdem hängt das Programm .
Ich hab das Problem genau untersucht, ich hab festgestellt : Das Programm hängt nur dann,wenn das externe Programm eine Warnungmeldung ausgibt , Allerdings wenn ich das Externe Programm mit der Konsole aufrufe, gibt die Warnungmeldung und  und läuft weiter.


----------

