auf gestarteten Process warten

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
hallo,

steh mom. an, wie kann ich warten bis ein Prozess gestartet ist, mit der unteren Zeile starte ich meinen Process aber dann werden gleich die nächsten paar Zeilen ausgeführt, dass sollte aber erst geschehen wenn eben der Process gestartet ist,
Vielleicht kann mir da jemand auf die Sprünge helfen,

ist es auch irgendwie möglich, herauszufinden ob der Prozess, den ich mit der unteren Zeile starten möchte, schon gestartet ist?

Vielen Dank,


Code:
final Process process = Runtime.getRuntime().exec(command + " " + cfgFile);
 

Wildcard

Top Contributor
Gestartet ist er, nur eben nicht fertig. Um darauf zu warten das er fertig ist: process.waitFor()
 

MQue

Top Contributor
Gestartet ist er, nur eben nicht fertig. Um darauf zu warten das er fertig ist: process.waitFor()

ich hab mir gerade die Beschreibung von waitFor angesehen und da steht viel von terminieren, jetzt weiß ich nicht, ob dass das richtige ist, ich möchte in meiner Methode (startServer) einfach den Server starten, und wenn dieser fertig ist mit dem Starten, dann weiter im Programm,
Versteh ich da was falsch?
Wenn ich das Programm jetzt ausführe, dann funktioniert das, was nach startServer passieren soll, nicht mehr, obwohl der externe Server schon gestartet ist.

Vielen Dank für die Hilfe,
lg

Code:
     * causes the current thread to wait, if necessary, until the 
     * process represented by this <code>Process</code> object has 
     * terminated. This method returns 
     * immediately if the subprocess has already terminated. If the
     * subprocess has not yet terminated, the calling thread will be
     * blocked until the subprocess exits.

Code:
public boolean startServer(final String command, final String cfgFile) {
        boolean started = false;
        if(command.equals("") || cfgFile.equals(""))
            return started;
        try {
            final Process process = Runtime.getRuntime().exec(command + " " + cfgFile);
            process.waitFor();
            started = true;
            }
        catch (Exception ex) {
            System.out.println("Ausnahme Methode startServer: " + ex);
            }
        return started;
        }
 

Wildcard

Top Contributor
Der Prozess wird dir aber keine Rückmeldung geben wenn er fertig mit hochfahren ist. Der Prozess läuft einfach weiter. (Prozess starten != Server hochfahren).
Du könntest höchstens den Output Stream des Prozesses lesen falls dort eine Meldung kommt sobalb er bereit ist.
 

MQue

Top Contributor
Der Prozess wird dir aber keine Rückmeldung geben wenn er fertig mit hochfahren ist. Der Prozess läuft einfach weiter. (Prozess starten != Server hochfahren).
Du könntest höchstens den Output Stream des Prozesses lesen falls dort eine Meldung kommt sobalb er bereit ist.

also dann gibts keine Möglichkeit, um zu warten, bis der Server hochgefahren ist,
wie kann man das am Besten machen?
Wenn der Server nicht hochgefahren ist, nutzt mir mein ganzes weiteres Programm nichts ???:L
 

Wildcard

Top Contributor
Nein, weil der Prozess nichts darüber weiß wann der Server sich als hochgefahren bezeichnet, also kann man das auch nicht abfragen. Also entweder du wertest den Output Stream aus und wartest auf eine Statusmeldung, oder du versuchst einfach alle paar sekunden dich zu verbinden.
 

MQue

Top Contributor
Hallo,

muss nochmal auf meine Frage zurückkommen, kann man eigentlich mit java aus der StandardAPI heraus schauen, ob auf einem Windows Rechner ein Task mit dem Namen xy schon läuft?

Vielen Dank,
 

kulri

Mitglied
ja kann man. ruf über die cmd den befehl "tasklist" auf und hol dir die Ausgabe.
Code:
Process p = Runtime.getRuntime().exec("tasklist");
p.getInputStream();
Und den InputStream kannst jetzt nach deinem xy-task durchsuchen
Wie die .exec() genau funzt musste aber selber nachschaun.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Output eines über Runtime.getRuntime.exec gestarteten Jars Allgemeine Java-Themen 6
O Warten bis alle gestarteten Threads beendet sind? Allgemeine Java-Themen 6
G Laufzeit eines aus Java gestarteten Programms beobachten Allgemeine Java-Themen 3
D Compiler-Fehler child process exited with code 1 Allgemeine Java-Themen 1
K Threads Runtime und Process Probleme Allgemeine Java-Themen 3
P Herausfinden, ob ein Process ein Fenster hat Allgemeine Java-Themen 1
D Java Process OutputStream ist null Allgemeine Java-Themen 4
X Problem bei process.start() ExitValue Allgemeine Java-Themen 5
T Mit Java auf die Konsole eines Process-Objekts zugreifen Allgemeine Java-Themen 10
P Input/Output Process.getErrorStream = OutputStream Allgemeine Java-Themen 11
J Download: Filename + Process waitFor() Allgemeine Java-Themen 5
S Wie beendet man einen Process in Java Platform unabhänging? Allgemeine Java-Themen 8
M Process wird gestoppt und nach beenden der Anwendung fortgeführt Allgemeine Java-Themen 4
G Process.destory() == CTRL+C Allgemeine Java-Themen 2
P Swing GUI Process anzeigen Allgemeine Java-Themen 10
F Process.getInputStream unter Linux Allgemeine Java-Themen 7
schlingel Process - Ausgabe leer Allgemeine Java-Themen 5
G ungepufferter Process.getInputStream Allgemeine Java-Themen 10
J Process beenden ...aber wie ? Allgemeine Java-Themen 19
G Process - mehrere Commands?! Allgemeine Java-Themen 2
G Process.wait() auf Folgeprozesse mitwarten Allgemeine Java-Themen 29
P Bedeutung der Process.exitValue() Werte? Allgemeine Java-Themen 3
J Process auf Console anzeigen lassen. Allgemeine Java-Themen 5
S Process - Befehle senden Allgemeine Java-Themen 13
B Process Builder Allgemeine Java-Themen 10
D Thread & Process: Beenden einer Batch-Datei Allgemeine Java-Themen 8
J process.getInputStream() hängt auf merkwürdige Art und Weise Allgemeine Java-Themen 7
D Fremdes Programm schließen (ohne process.destroy()) Allgemeine Java-Themen 8
S process.waitFor() endet mit -1 Allgemeine Java-Themen 3
M Process -> getInputStream -> nur gepuffert ? Allgemeine Java-Themen 12
A Runtime Process bricht nicht ab! Allgemeine Java-Themen 7
C Process output Allgemeine Java-Themen 7
J Warten bis cmd Prozess fertig ist Allgemeine Java-Themen 2
M Warten vor OnClickListener Allgemeine Java-Themen 2
B Threads Multithreading Threads sollen warten Allgemeine Java-Themen 12
KaffeeFan Methoden Suche Methode um Programm kurz warten zu lassen Allgemeine Java-Themen 22
M Warten bis Variabel nicht null ist Allgemeine Java-Themen 18
chuxXo Warten auf BasicPlayer - JavaZOOM SoundAPI Allgemeine Java-Themen 8
J Java Auf anderes Programm warten Allgemeine Java-Themen 9
W Threads Threads warten lassen Allgemeine Java-Themen 5
D Simpler Timer zum warten Allgemeine Java-Themen 19
B Threads Main Thread warten auf abgebrochen Task warten lassen Allgemeine Java-Themen 25
das-mo Warten auf Event Allgemeine Java-Themen 7
L Im Thread auf Eingaben warten Allgemeine Java-Themen 3
frankred Threads Auf eine Gruppe von Threads warten Allgemeine Java-Themen 11
S Warten, bis ein Impuls von außen kommt. Allgemeine Java-Themen 2
A Warten auf shellscript Allgemeine Java-Themen 3
K Warten bis Datei geändert Allgemeine Java-Themen 2
R Programm soll warten bis eine Passwort eingabe gemacht wurde. Allgemeine Java-Themen 6
KrokoDiehl Desktop.open() und warten? Allgemeine Java-Themen 3
Guybrush Threepwood Warten, bis keine Taste gedrückt Allgemeine Java-Themen 11
H auf Methode warten Allgemeine Java-Themen 2
F thread warten lassen Allgemeine Java-Themen 2
N "Bitte warten"-Meldung Allgemeine Java-Themen 6
P Swing Eine Sekunde warten (Timer) Allgemeine Java-Themen 7
kodela Warten mit Java Allgemeine Java-Themen 5
L Warten bei mehreren Threads, bis Ende erreicht ist Allgemeine Java-Themen 2
S Threads eines Pools aufeinander warten lassen Allgemeine Java-Themen 11
J Main-Thread soll auf alleKinder Threads warten Allgemeine Java-Themen 5
M Auf Einträge im Buffer warten Allgemeine Java-Themen 7
M In der GUI / im Model auf Webrequest warten? Allgemeine Java-Themen 4
G Auf den Start eines Threads warten? Allgemeine Java-Themen 4
M Auf Thread warten Allgemeine Java-Themen 5
G Warten? Allgemeine Java-Themen 3
R Warten auf Beendigung eines externen Prozesses Allgemeine Java-Themen 4
B Programm soll auf die Eingabe vom Mouselistener warten. Allgemeine Java-Themen 19
C Java Parameter zum starten ohne auf Programmende zu warten Allgemeine Java-Themen 4
M Methode soll warten, bis Button gedrückt Allgemeine Java-Themen 2
P Warten auf ein Ereignis Allgemeine Java-Themen 7
R Thread beenden und warten, bis er fertig ist Allgemeine Java-Themen 4
K Warten auf die Eingabe aus Fenster.... Allgemeine Java-Themen 2
Q Methode soll auf schließen eines Frames warten Allgemeine Java-Themen 4
S methode stoppen / auf ein event warten Allgemeine Java-Themen 5
J x Sekunden warten, dann Kommando ausführen Allgemeine Java-Themen 8
B Thread soll auf Event warten, dann Daten an Klasse senden Allgemeine Java-Themen 2
R Thread soll auf MouseClick warten Allgemeine Java-Themen 2
W Warten bis gestartetes Programm beendet wird Allgemeine Java-Themen 2
D Warten auf Dateien aus externem Programm Allgemeine Java-Themen 3
D commapi lesen, auf zeichen warten. Allgemeine Java-Themen 2
sliwalker Threads: Kann man auf anonyme Threads warten? Allgemeine Java-Themen 2
S Datei endlos einlesen (am Dateiende warten) Allgemeine Java-Themen 3
N auf java 1.5 (tiger) warten? Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben