Runtime Prozeß hängt sich auf. in der Kommandozeile gehts

Status
Nicht offen für weitere Antworten.

DLor

Aktives Mitglied
Code:
Runtime runner = Runtime.getRuntime();
			Process proc;

			try
			{
				// try to execute the tool with the given list of parameters 
				proc = runner.exec(commandLine);

				// if the caller wants to wait for the exit of this new process
				if(waitForExit)
				{
					try
					{
						// try to wait for the exit of the process...
						proc.waitFor();

						// write the EEx-Tool state into the Test-Logfile
						if(proc.exitValue() == 0)
						{
							System.out.println("OK");
							exitCode &= true;
						}
						else
						{
							System.out.println("!OK");
							exitCode &= false;
						}
					}
					catch(InterruptedException e)
					{
						// error handling if the created process has been interrupted
						System.out.println("InterruptedException "+e.getMessage());
						exitCode = false;
					}
				}
				else
				{
					// the caller does not want to wait for the child's exit,
					// so we cannot set any exit code for the child process.

					// let's hope that nothing went wrong...
				}
			}
			catch(IOException e)
			{
				// error handling if the creation of the process has failed
				getTestLogger().error("IOException "+e.getStackTrace());
				exitCode = false;
			}

Das ist mein Code.
Nun habe ich das Problem, das ein Aufruf nicht terminiert. Wenn ich jedoch den selbigen Aufruf in der Commandozeile per hand mache terminiert der Aufruf nach kürzester Zeit. zwar mit einer Exception, aber er terminiert.
Wie kann ich herausfinden, wodurch mein Runtime.exec() sich aufhängt?

Vielen Dank
DLor
 

DLor

Aktives Mitglied
Wenn jemand das gleiche problem mal haben sollte...

Der InputStream und der ErrorStream müssen umgeleitet werden.
Am besten ein Thread laufen lassen, der beide z.B. auf der console ausgeben.

Das Problem war, das 1kb der ausgabe im stream liegen alles was darüber geht wird gebuffert. solange der Buffer nicht leer ist, kommt der prozeß leider nicht zu einem ende.

Mal sehen ob das mal jemand benötigt!!!
 
G

Guest

Gast
hehe, servus! danke für den tip. das riecht mir so nach meinem problem. terminiert bei mir auch nicht. ich probiers mal und melde mich nochmal....
 
G

Guest

Gast
also, wie machst du das konkret? mein command produziert auf der commandozeile eine menge output während er läuft, das ding erzählt dir so ziemlich alles was es macht (welche directories er angelegt hat usw...). da kommen also schnell mehr als 1kb zusammen. wie nehm ich dem command das nun(während er läuft) ab, sprich wie lass ich es mir auf der java console ausgeben? das raff ich nicht so ganz... ???:L


hier ein auszug aus meinem code:

Code:
try
	        					{
	        						Process p = new Process(command);
	        						
	        						DataInputStream ips = p.getInputStream();
	        						
	        						while(ips.read()!=-1) {} //einfach ins leere damit... ?
	        					}
	        					catch(Exception e)
	        					{
	        						e.printStackTrace();
	        					}


kann mir irgedwer nen kurzen tipp geben?
 
G

Guest

Gast
das ging schneller als ich dachte, hier ist die lösung:

Code:
try
	        					{
	        						Process p = Runtime.getRuntime().exec(command);
	        						
	        						InputStream ips = p.getInputStream();                                
	        						
	        						int c;
	        						StringBuilder commands_output = new StringBuilder();
	                                
	        						while( (c=ips.read())!=-1)	                              
	        						commands_output.append((char)c);
	        						
	        						System.out.println(commands_output.toString());
	        						
	        					}
	        					catch(Exception e)
	        					{
	        						e.printStackTrace();
	        					}

den errorstream kann man natürlich auch so abfangen....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Programm beenden ohne System.exit() oder Runtime.exit() Java Basics - Anfänger-Themen 5
J Mit OpenJDK entwickeln aber Oracle SE Runtime installieren? Java Basics - Anfänger-Themen 6
N Best Practice Doppelte und einfach Anführungsstriche in Runtime.getruntime().exec() Java Basics - Anfänger-Themen 6
O Methoden Runtime.getRuntime().exec(befehl); Java Basics - Anfänger-Themen 6
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
J Programm was üer Runtime.getRuntime gestartet wird erkennt String Parameter nicht Java Basics - Anfänger-Themen 0
R Einfaches refresh während runtime Java Basics - Anfänger-Themen 4
I Runtime.getRuntime mit delay? Java Basics - Anfänger-Themen 2
L0MiN Input/Output Wie kann ich Kompilierfehler richtig ausgeben lassen (Runtime)? Java Basics - Anfänger-Themen 1
D Input/Output Runtime().exec fehler abfangen Java Basics - Anfänger-Themen 4
D RunTime Exec Java Basics - Anfänger-Themen 7
D Runtime exec output wiedergeben Java Basics - Anfänger-Themen 1
G Wie bekomme ich alle Ausgaben von runTime.exec() Java Basics - Anfänger-Themen 7
T java ohne runtime ? Java Basics - Anfänger-Themen 6
B Error vs Runtime exception Java Basics - Anfänger-Themen 4
K The Java Runtime Environment cannot be found. Java Basics - Anfänger-Themen 6
G Fehlermeldung: A fatal error has been detected by the Java Runtime Environment Java Basics - Anfänger-Themen 7
pg1337 Methoden Runtime Exception Java Basics - Anfänger-Themen 13
P Vererbung Runtime.getRuntime().exec("blub"); Java Basics - Anfänger-Themen 11
F Runtime - Ausführung abwarten Java Basics - Anfänger-Themen 6
N Java 6 / J2SE Runtime deinstallieren Java Basics - Anfänger-Themen 11
J Window 7 Problem mit Runtime.getRuntime().exec("explorer") Java Basics - Anfänger-Themen 4
A JAR2EXE -> Java Runtime Environment not found Java Basics - Anfänger-Themen 4
D Runtime.getRuntime().exec(command); Java Basics - Anfänger-Themen 5
P Probleme mit Runtime.exec und Leerzeichen Java Basics - Anfänger-Themen 15
S Mit Runtime.exec() ImageMagick aufrufen -> Problem Java Basics - Anfänger-Themen 5
X Runtime.getRuntime().exec() Problem(inkonsistenter sch****) Java Basics - Anfänger-Themen 2
D Runtime.exec cygwin1.dll Java Basics - Anfänger-Themen 4
G Runtime.getRuntime().exec(command) für Mac OS! Java Basics - Anfänger-Themen 7
B Externe .exe-Dateien starten +Runtime Java Basics - Anfänger-Themen 6
G Runtime.getRuntime().exec und Exception? Java Basics - Anfänger-Themen 3
G Mittels Runtime prüfen ob ein Programm läuft? Java Basics - Anfänger-Themen 18
I Runtime.exec mit Adminrechten Java Basics - Anfänger-Themen 2
T Seltsame Runtime-Fehlermeldung Java Basics - Anfänger-Themen 4
Z kleine frage zu: Runtime.getRuntime().exec("cmd /c) Java Basics - Anfänger-Themen 3
O Aktuelles Verzeichnis Runtime.getRuntime().exec Java Basics - Anfänger-Themen 6
M Runtime exec mit Ordner angabe Java Basics - Anfänger-Themen 7
B Unklarheit bei Applets und Runtime Java Basics - Anfänger-Themen 5
P custom EventDispatcher fehlermeldung in der runtime bei invo Java Basics - Anfänger-Themen 27
O Java Runtime Java Basics - Anfänger-Themen 2
T Process pro =Runtime.getRuntime.exec("wine /Datei Pfad/ Java Basics - Anfänger-Themen 8
T Runtime.getRuntime().exec mit parameterübergabe Java Basics - Anfänger-Themen 16
padde479 Runtime.getRuntime.exec() Leerzeichen unterdrücken Java Basics - Anfänger-Themen 2
G runtime in java Java Basics - Anfänger-Themen 31
G Runtime.exec() Problem Java Basics - Anfänger-Themen 4
Z linux-befehl Runtime exec Java Basics - Anfänger-Themen 2
M Runtime.exec() Java Basics - Anfänger-Themen 5
G Batch aufrufen klappt nicht mit Runtime Java Basics - Anfänger-Themen 5
B mit Runtime.getRuntime().exec auch HTML-Dateien öffnen? Java Basics - Anfänger-Themen 7
G Parameterübergabe bei Runtime.getRuntime().exec Java Basics - Anfänger-Themen 16
N Runtime.exec und Key event Java Basics - Anfänger-Themen 2
T Mit Runtime unter Windows einen Ordner öffnen Java Basics - Anfänger-Themen 2
F Probleme mit Runtime.getRunTime().exec() Java Basics - Anfänger-Themen 7
P runtime geht nicht? Java Basics - Anfänger-Themen 16
P Gibt es Probleme mit Runtime Objekten in Servlets? Java Basics - Anfänger-Themen 3
G Probelm mit Runtime exec! Erstellen einer neuen Konsole. Java Basics - Anfänger-Themen 2
P Runtime problem Java Basics - Anfänger-Themen 5
D 2 Verständnisfragen zu Threads und Runtime Java Basics - Anfänger-Themen 5
S Runtime.exec -> Thread.sleep -> Konflikt Java Basics - Anfänger-Themen 7
M Runtime.getRuntime().exec() Problem Java Basics - Anfänger-Themen 3
C Syntax Probleme mit Runtime javascript Java Basics - Anfänger-Themen 9
C Kann java.exe nicht aus Runtime.getRuntime().exec() starten Java Basics - Anfänger-Themen 4
F Probleme bei Interaktion mit Prozeß Java Basics - Anfänger-Themen 9
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
CptK Achsenskalierung in Koordinatensystem hängt Programm auf Java Basics - Anfänger-Themen 5
D GUI hängt Java Basics - Anfänger-Themen 5
N httpclient - Verbindung hängt ? Java Basics - Anfänger-Themen 13
Fishmeaker Methoden mit Methoden aufrufen - Programm hängt sich auf Java Basics - Anfänger-Themen 5
Lord.Djerun (Netbeans) Bei TimeUnit.Seconds,Sleep() hängt sich das komplette Programm auf.. Java Basics - Anfänger-Themen 8
P Eingabeaufforderung hängt sich auf Java Basics - Anfänger-Themen 2
S Programm hängt sich auf Java Basics - Anfänger-Themen 2
D Programm hängt evtl. Deadlock? Java Basics - Anfänger-Themen 8
J JFRAME hängt sich auf Java Basics - Anfänger-Themen 12
O java.util.Scanner hängt sich auf Java Basics - Anfänger-Themen 5
R Netbeans hängt sich beim profilen auf Java Basics - Anfänger-Themen 4
P BlueJ hängt sich beim compilen auf Java Basics - Anfänger-Themen 9
F Primitiver Lucas-Lehmer-Test hängt sich auf Java Basics - Anfänger-Themen 7
S JDK hängt beim Ausführen von Dateien Java Basics - Anfänger-Themen 13
R JFileChooser hängt java Programm auf Java Basics - Anfänger-Themen 6
O Editor hängt sich auf Java Basics - Anfänger-Themen 21
T BufferedReader oder Prozess, wer hängt sich auf? Java Basics - Anfänger-Themen 6
G GUI hängt sich auf! Java Basics - Anfänger-Themen 20
W sleep "hängt" bei vielen Threads Java Basics - Anfänger-Themen 2
G Compiler hängt schon wieder Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben