Warten, bis ein Prozess gestartet wurde

Status
Nicht offen für weitere Antworten.

rtt

Bekanntes Mitglied
Hi,
ich rufe mit dem Befehl:
Code:
Runtime.getRuntime().exec("cmd /c start notepad.exe");

eine Anwendung auf.
Ich habe gehört, dass es eine Möglichkeit gibt, dass Java erst weiter macht, wenn der aufgerufene Prozess läuft.
Was muß ich da schreiben?

Danke im Vorraus.
Gruß Robin
 
B

Beni

Gast
Den Rückgabewert von "exec" speichern, und in der API nachgucken was man damit machen kann.
 
R

Roar

Gast
? der prozess läuft doc hsofort wenn du exec() aufrufst. meisnt du nicht eher warten bis der prozess zuende ist?
 
B

Beni

Gast
Dann guck genau hier nochmal. Es sind nur 6 Methoden, 5 davon kommen nicht in Frage und die letzte hat einen verdächtigen Namen :wink:

[Edit: hm, mein Text bezieht sich auf das warten, wie Roar das schreibt, das wäre dann "Process.waitFor"]
 

rtt

Bekanntes Mitglied
ich rufe damit remote ein Tool auf, das auf dem Remoterechner erst nach 60 sekunden gestartet wird, weil der sheduler das so macht.
Java darf erst weitermachen, wenn dieser Prozess gestartet wurde.
 

rtt

Bekanntes Mitglied
die Methode Process.waitFor() wartet bis der Prozess beendet ist.
Es soll aber nur gewartet werden, bis der Prozess gestartet wurde.
 
B

Beni

Gast
Ach so (sorry, dass ich dich missverstanden habe).

Du könntest auch den Thread blockieren, indem du folgendes machst:
Code:
Thread.sleep( 60000 );

Vielleicht kannst du auch den InputStream benutzen? Das Tool schreibt etwas, und du wartest mit deinem Prog, bis etwas bei dir ankommt. (Du kannst über Process an diesen Stream rankommen).
 
B

bygones

Gast
ich würde eher das mit dem InputStream versuchen.... der thread.sleep ist für mich immer ein bisschen brute-force...
 

rtt

Bekanntes Mitglied
Danke jungs,
ich habe gerade eine Änderung bekommen. Es soll jetzt doch gewartet werden bis der Prozess beendet ist. Weil der Prozess ein Hilfsprozess ist und den eigentlichen Prozess startet.

Also: Process.waitFor()

Gruß Robin
 

rtt

Bekanntes Mitglied
kann ich die Methode waitFor() mit in den Befehl
Code:
 Runtime.getRuntime().exec("cmd /c start notepad.exe ");
einbauen?
 
R

Roar

Gast
uff. ja... aber opfer doch lieber ein paar zeilen, damit es übersichtlicher ist ;)
 
B

Beni

Gast
Ich werd ja langsam ganz verwirrt :bae: also waitFor benutzt du so:
Code:
Process p = Runtime.getRuntime().exec(...);
p.waitFor();

Bin mir nicht sicher, vielleicht muss da noch ein try-catch-Block hin.
 
R

Roar

Gast
ja das is die übersichtliche version...

(nicht nur vielleicht tryc :bae:)
 

rtt

Bekanntes Mitglied
Habs jetzt so geschrieben:
Code:
try {
				Runtime.getRuntime().exec("cmd /c start notepad.exe ").waitFor();
			}
			catch(InterruptedException ie) { System.err.println( ie ); }

Wie kann ich den Befehl denn über mehrere Zeilen schreiben, damit es übersichtlicher wird?
Danke
 

rtt

Bekanntes Mitglied
... zu Früh gefreut.
es funktioniert nicht. Java macht einfach weiter ohne zu warten. :-(
 

Illuvatar

Top Contributor
Roar, du widersprichst dich... Entweder am Ende der Zeile .waitFor() anhängen, oder, was besser ist, folgendes schreiben:
Code:
Process p = Runtime.getRuntime().exec (was auch immer);
int code = p.waitFor();
if (code != 0){
 //reagieren
}
 

rtt

Bekanntes Mitglied
Wenn der Prozess beendet wurde, wird doch 0 zurückgegeben, oder?

Muß ich eigentlich noch eine while-schleife bauen, um solage zu warten, bis code einen wert bekommen hat?

Gruß Robin
 

rtt

Bekanntes Mitglied
Hab eine Lösung gefunden:
Beim aufruf des Dos-Befehls statt "cmd /c..." muß man "cmd /k...." eingeben, dann wird automatisch gewartet.

Bsp:
Code:
Process p =	Runtime.getRuntime().exec("cmd /k start notepad.exe");

Gruß Robin
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M prozess starten und warten bis dieser sich beendet Java Basics - Anfänger-Themen 3
H JavaFX Hintergrundfarbe ändern, warten, Hintergrundfarbe wieder ändern Java Basics - Anfänger-Themen 34
D Programm auf Enter warten lassen Java Basics - Anfänger-Themen 2
E Richtiges Warten Java Basics - Anfänger-Themen 8
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
G Wie kann ich 1s lang warten? Java Basics - Anfänger-Themen 1
D JFrame - 10 Sekunden bis zum schließen warten. Java Basics - Anfänger-Themen 2
R Threads aufeinander warten lassen? Java Basics - Anfänger-Themen 10
S Input/Output In Java Swing auf Button warten? Java Basics - Anfänger-Themen 9
A Thread auf anderen warten Java Basics - Anfänger-Themen 2
C Warten auf Antwort Java Basics - Anfänger-Themen 22
S Threads Programm terminiert statt zu warten Java Basics - Anfänger-Themen 20
E ExecutorService warten bis alles fertig? Java Basics - Anfänger-Themen 5
A Threads Eine Klasse muss auf Variable der Anderen warten. Java Basics - Anfänger-Themen 6
D Input/Output Auf Tasteneingabe warten Java Basics - Anfänger-Themen 4
A Activity1 soll auf Activity2 warten (Camera-Intent) Java Basics - Anfänger-Themen 5
D Threads Kartenspiel - auf legen warten Java Basics - Anfänger-Themen 15
B Methode warten lassen bis Button gedrückt wird Java Basics - Anfänger-Themen 16
JAVAnnik auf Threadende warten Java Basics - Anfänger-Themen 6
H Auf Threads warten Java Basics - Anfänger-Themen 3
S Warten bis alle Threads fertig sind Java Basics - Anfänger-Themen 12
I Auf DB-Operation warten Java Basics - Anfänger-Themen 2
R Thread soll auf andere Threads warten Java Basics - Anfänger-Themen 3
T Warteschlange warten lassen bis Ereignis Java Basics - Anfänger-Themen 27
A Main warten lassen bis Variable durch Button übergeben wird Java Basics - Anfänger-Themen 2
V Warten bis die Länge eines Strings nicht mehr 0 ist Java Basics - Anfänger-Themen 13
G Eigene Klasse für externe Befehle - Warten auf Prozesse Java Basics - Anfänger-Themen 6
D Auf Event warten Java Basics - Anfänger-Themen 4
F Logikproblem: Auf Mouselistener warten Java Basics - Anfänger-Themen 6
E Auf Mouselistener warten?! Java Basics - Anfänger-Themen 20
M Warten bis Thread an einem Semaphore angekommen ist Java Basics - Anfänger-Themen 4
C countdown/timer/Zeit warten lassen Java Basics - Anfänger-Themen 14
S Auf andere Methode warten Java Basics - Anfänger-Themen 7
B Während Schleife nicht auf Eingabe warten Java Basics - Anfänger-Themen 2
T auf vbscript warten Java Basics - Anfänger-Themen 3
S Thread warten abbrechen? Java Basics - Anfänger-Themen 5
C auf beendigung eines threads warten Java Basics - Anfänger-Themen 6
P Warten auf KeyTyped Java Basics - Anfänger-Themen 7
M warten in einer while-schleife Java Basics - Anfänger-Themen 12
L programm zum warten zwingen Java Basics - Anfänger-Themen 4
B Auf Programm warten Java Basics - Anfänger-Themen 2
S Auf Object warten Java Basics - Anfänger-Themen 2
K Auf File- Befehl warten. Java Basics - Anfänger-Themen 10
T eine Sekunde warten Java Basics - Anfänger-Themen 11
C Konsolenanwendung auf belibige Taste warten Java Basics - Anfänger-Themen 2
D Auf anderes Fenster Warten Java Basics - Anfänger-Themen 6
A Warten auf Userinput Java Basics - Anfänger-Themen 2
G Bei JDialog warten Java Basics - Anfänger-Themen 5
T Auf Selection warten Java Basics - Anfänger-Themen 7
N Java Insel 6 lesen oder auf 7 warten ? Java Basics - Anfänger-Themen 11
S Programmablauf pausieren, bzw. auf Eingabe warten Java Basics - Anfänger-Themen 4
G Warten auf Eingabe Java Basics - Anfänger-Themen 12
G Thread soll warten Java Basics - Anfänger-Themen 5
F 1 Minute warten Java Basics - Anfänger-Themen 18
S Thread auf Thread warten lassen. Java Basics - Anfänger-Themen 2
G auf ende mehrerer threads warten Java Basics - Anfänger-Themen 2
B Timer / Thread warten Java Basics - Anfänger-Themen 3
G warten Java Basics - Anfänger-Themen 10
P Warten-Fenster Java Basics - Anfänger-Themen 8
vogella *Gelöst *Im Programm warten (wait()) Java Basics - Anfänger-Themen 2
A Bitte Warten Java Basics - Anfänger-Themen 2
P Externen Proceß starten und warten bis beendet? Java Basics - Anfänger-Themen 2
J Threads: warten bis erste aktion ausgeführt wurde Java Basics - Anfänger-Themen 6
G Eine Methode zum Warten? Java Basics - Anfänger-Themen 7
G Frage zum Warten auf und Aufwecken von Threads Java Basics - Anfänger-Themen 2
L Einfaches Warten in eine Schleife Java Basics - Anfänger-Themen 9
B auf mehrere Threads warten Java Basics - Anfänger-Themen 3
K Animation warten lassen Java Basics - Anfänger-Themen 9
S Auf JInternalFrame warten? Java Basics - Anfänger-Themen 2
M x Sekunden warten Java Basics - Anfänger-Themen 13
P Bitte um ein paar Tipps! (Threads, Warten auf Ereignisse,.) Java Basics - Anfänger-Themen 2
M Wie lässt man eine Methode warten ohne Threads zu benutzen? Java Basics - Anfänger-Themen 8
B Thread / Prozess stoppen? Java Basics - Anfänger-Themen 22
ralfb1105 Ausgaben von ProcessBuilder Prozess "streamen" Java Basics - Anfänger-Themen 25
A Input/Output Prozess Output genauso in der Konsole ausgeben Java Basics - Anfänger-Themen 0
P Threads Prozess kann nicht über die GUI gestartet werden Java Basics - Anfänger-Themen 8
B Gleicher Prozess starten und stoppen (Problem beim Stoppen) Java Basics - Anfänger-Themen 5
B MySQL starten / stoppen -> Stoppen erzeugt neuen Prozess Java Basics - Anfänger-Themen 0
GENiALi Java Console Anwendung starten in Prozess Java Basics - Anfänger-Themen 3
I Datei wird von anderen Prozess verwendet Java Basics - Anfänger-Themen 10
J Threads Prozess in Thread auslagern Java Basics - Anfänger-Themen 2
B eingene Klasse in eigenem Prozess starten mit relativem Pfad Java Basics - Anfänger-Themen 5
X Vollkommen Unabhängigen Prozess starten Java Basics - Anfänger-Themen 8
L Prozess beenden Java Basics - Anfänger-Themen 3
C Prozess wird erst bei Beendigung des Programms ausgeführt Java Basics - Anfänger-Themen 2
C Prozess Fehlerbehandlung Java Basics - Anfänger-Themen 2
G Externen Prozess starten - entweder stdin oder stderr auslesen Java Basics - Anfänger-Themen 3
W Java ProcessBuilder - externer Prozess nur einmal starten und mehrere Inputs geben Java Basics - Anfänger-Themen 7
B Prozess wird nicht beendet Java Basics - Anfänger-Themen 2
S Prozess auslesen und starten Java Basics - Anfänger-Themen 9
M prozess-managment Windows java Java Basics - Anfänger-Themen 4
L Prozess rückgabewert? Java Basics - Anfänger-Themen 5
T BufferedReader oder Prozess, wer hängt sich auf? Java Basics - Anfänger-Themen 6
S mit getRuntime.exec gestarteten Prozess überwachen Java Basics - Anfänger-Themen 2
P Kommunikation mit Prozess Java Basics - Anfänger-Themen 3
S Prozess paralell starten Java Basics - Anfänger-Themen 5
T Öffnen externer Datei als eigener Prozess Java Basics - Anfänger-Themen 8
M prüfen, ob Prozess fertig mit Abarbeitung. wie? Java Basics - Anfänger-Themen 11
N cmd aus java starten; prozess beenden Java Basics - Anfänger-Themen 11
ven000m Java Prozess beenden? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben