CMD, EXEC, Befehle senden

Status
Nicht offen für weitere Antworten.

najjannaj

Aktives Mitglied
Hallo,
ich hab folgendes Problem, ich würde gerne eine Kommandozeile starten und auslesen was diese Ausgibt und Befehle an diese aus Java senden. allerdings kann ich dazu nicht immer wieder erneut die CMD aufrufen. Ich habe schon mehrfach hier im Forum nach einer pasenden Antwort gesucht doch leider keine gefunden... Ich hoffe ihr könnt mir helfen, mit folgendem hat es leider nicht funktioniert...
Code:
public static void test1() throws IOException, InterruptedException {
		System.out.println("Starten von Exec...");
		Process p = Runtime.getRuntime().exec("cmd",null);
		
		DataOutputStream dos = new DataOutputStream(p.getOutputStream());
		dos.writeUTF("dir \n");;
		dos.flush();
		
		BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
		String buffer = null;

		while((buffer = reader.readLine()) != null)
		{
		   System.out.println(">>"+ buffer );
		}
	}

Wichtig ist das ich die Befehle nach dem Start des eigentlichen Prozesses unternehm...

Vielen Dank schonmal für die Hilfe...
Mfg
najjannaj
 
Erledigt:

Code:
System.out.println("Starten von Exec...");
		Process p = Runtime.getRuntime().exec("cmd \n",null);
		
		BufferedWriter InputP2 = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
	    InputP2.write("dir \n");
	    InputP2.close();
		
		
		BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
		String buffer = null;

		while((buffer = reader.readLine()) != null)
		{
		   System.out.println(">>"+ buffer );
		}
	}
 
Hi,

auf diese Art beendet sich das Java-Programm erst, wenn der Prozessaufruf sich beendet hat.
Ist es möglich, dass man einen Prozess startet und sich das Java-Programm dann beendet, der aufgerufene Prozess aber noch läuft?
z.B. um durch Java eine Datei vorzubereiten für ein Programm, dass danach automatisch gestartet werden soll?
 
ja, den aufruf in einem thread machen, den man vorher "daemonized"

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Thread.html#setDaemon(boolean)
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben