Monday 23 October 2017

Java Prozess Exitvalue Waitforexit


Class Process Die Methoden ProcessBuilder. start () und Runtime. exec erstellen einen nativen Prozess und geben eine Instanz einer Unterklasse von Process zurück, die verwendet werden kann, um den Prozess zu steuern und Informationen darüber zu erhalten. Die Klasse Process stellt Methoden zur Durchführung von Eingaben aus dem Prozess bereit, führt eine Ausgabe an den Prozess durch, wartet auf den Abschluss des Prozesses, überprüft den Exit-Status des Prozesses und zerstört (beendet) den Prozess. Die Methoden, die Prozesse erstellen, funktionieren möglicherweise nicht für spezielle Prozesse auf bestimmten nativen Plattformen wie native Fensterprozesse, Dämonprozesse, Win16DOS-Prozesse auf Microsoft Windows oder Shell-Skripts. Der erstellte Unterprozess verfügt standardmäßig nicht über ein eigenes Terminal oder eine eigene Konsole. Sämtliche Standard-IO-Operationen (d. H. Stdin, stdout, stderr) werden zu dem übergeordneten Prozess umgeleitet, wo sie über die durch die Methoden getOutputStream () erhaltenen Ströme aufgerufen werden können. GetInputStream (). Und getErrorStream (). Der übergeordnete Prozess verwendet diese Ströme, um Eingaben in den Unterprozeß einzugeben und diese auszugeben. Da einige native Plattformen nur begrenzte Puffergrößen für Standard-Ein - und Ausgabe-Ströme bereitstellen, kann es vorkommen, dass der Eingabestream nicht sofort eingibt oder der Ausgabestream des Unterprozesses gelesen wird, was dazu führt, dass der Unterprozess blockiert oder sogar blockiert. Der Subprozeß wird nicht abgebrochen, wenn keine Verweise auf das Process-Objekt mehr vorhanden sind, sondern der Subprocess setzt die Ausführung asynchron fort. Es ist nicht erforderlich, dass ein Prozess, der durch ein Process-Objekt dargestellt wird, asynchron oder gleichzeitig mit dem Java-Prozess ausgeführt wird, der das Process-Objekt besitzt. Ab 1.5 ist ProcessBuilder. start () der bevorzugte Weg, um einen Prozess zu erstellen. Konstruktor Zusammenfassung Konstruktor und Beschreibung Methodenzusammenfassung Modifizierer und Typ Methode und Beschreibung Kills den Teilprozess. Gibt den Exit-Wert für den Unterprozess zurück. Gibt den Eingangsstrom zurück, der mit dem Fehlerausgang des Unterprozesses verbunden ist. Gibt den Eingangsstrom zurück, der mit dem normalen Ausgang des Unterprozesses verbunden ist. Gibt den Ausgangsstrom zurück, der mit dem normalen Eingang des Unterprozesses verbunden ist. Wendet den aktuellen Thread gegebenenfalls ab, bis der Prozess, der von diesem Process-Objekt dargestellt wird, beendet wurde. Methoden, die von der Klasse geerbt werden java. lang. Object Konstruktor Detail Methoden Detail getOutputStream Gibt den Ausgangsstrom zurück, der mit dem normalen Eingang des Unterprozesses verbunden ist. Die Ausgabe an den Stream wird in den Standard-Eingang des Prozesses geleitet, der durch dieses Process-Objekt dargestellt wird. Wenn die Standard-Eingabe des Subprozesses mit ProcessBuilder. redirectInput umgeleitet wurde, gibt diese Methode einen Null-Output-Stream zurück. Implementierungshinweis: Es ist eine gute Idee für den zurückgegebenen Ausgabestream gepuffert zu werden. Rückgabewert: der Ausgangsstrom, der mit dem normalen Eingang des Unterprozesses verbunden ist getInputStream Gibt den Eingangsstrom zurück, der mit dem normalen Ausgang des Teilprozesses verbunden ist. Der Strom erhält Daten, die von der Standardausgabe des durch dieses Prozessobjekt dargestellten Prozesses geleitet werden. Wenn die Standardausgabe des Subprozesses mit ProcessBuilder. redirectOutput umgeleitet wurde, gibt diese Methode einen Null-Eingangsstrom zurück. Wenn der Standardfehler des Unterprozesses mit ProcessBuilder. redirectErrorStream umgeleitet wurde, wird der von dieser Methode zurückgegebene Eingabestream den fehlerhaften Standardausgang und den Standardfehler des Unterprozesses empfangen. Implementierungshinweis: Es ist eine gute Idee für den zurückgegebenen Eingabestream gepuffert zu werden. Rückgabewert: Der mit dem normalen Ausgang des Unterprozesses verbundene Eingabestream getErrorStream Gibt den Eingangsstrom zurück, der mit dem Fehlerausgang des Unterprozesses verbunden ist. Der Strom erhält Daten, die aus dem Fehlerausgang des Prozesses, der durch dieses Prozessobjekt repräsentiert wird, geleitet werden. Implementierungshinweis: Es ist eine gute Idee für den zurückgegebenen Eingabestream gepuffert zu werden. Rückgabewert: Der mit dem Fehlerausgang des Unterprozesses verbundene Eingabestream bewirkt, dass der aktuelle Thread gegebenenfalls bis zum Beenden des durch dieses Process-Objekt repräsentierten Prozesses gewartet wird. Diese Methode gibt sofort zurück, wenn der Teilprozess bereits beendet ist. Ist der Teilprozeß noch nicht beendet, wird der aufrufende Thread gesperrt, bis der Teilprozeß beendet ist. Gibt den Ausgangswert des Teilprozesses zurück, der durch dieses Process-Objekt repräsentiert wird. Üblicherweise bedeutet der Wert 0 eine normale Beendigung. Throws: InterruptedException - wenn der aktuelle Thread von einem anderen Thread unterbrochen wird, während er wartet, wird das Warten beendet und eine InterruptedException ausgelöst. Gibt den Exit-Wert für den Unterprozess zurück. Gibt den Ausgangswert des Teilprozesses zurück, der durch dieses Process-Objekt repräsentiert wird. Üblicherweise bedeutet der Wert 0 eine normale Beendigung. Throws: IllegalThreadStateException - wenn der von diesem Process-Objekt repräsentierte Teilprozess noch nicht beendet ist Kills den Subprocess. Der durch dieses Process-Objekt repräsentierte Teilprozess wird zwangsweise beendet. Einen Fehler oder eine Funktion übergeben Weitere Informationen zur API-Referenz - und Entwicklerdokumentation finden Sie unter Java SE-Dokumentation. Diese Dokumentation enthält detaillierte, entwicklerbezogene Beschreibungen mit konzeptionellen Übersichten, Definitionen von Begriffen, Workarounds und Arbeitsbeispielen. Copyright x00a9 1993, 2016, Oracle und seine Tochtergesellschaften. Alle Rechte vorbehalten. Die Verwendung unterliegt den Lizenzbestimmungen. Weitere Informationen finden Sie in der Dokumentation zur Umverteilungsrichtlinie. Scripting auf dieser Seite Spuren Web-Seite Verkehr, aber nicht den Inhalt in irgendeiner Weise ändern. Class-Prozess Die ProcessBuilder. start () - und Runtime. exec Methoden erstellen einen nativen Prozess und geben eine Instanz einer Unterklasse von Prozess, die verwendet werden können Den Prozess zu kontrollieren und Informationen darüber zu erhalten. Die Klasse Process stellt Methoden zur Durchführung von Eingaben aus dem Prozess bereit, führt eine Ausgabe an den Prozess durch, wartet auf den Abschluss des Prozesses, überprüft den Exit-Status des Prozesses und zerstört (beendet) den Prozess. Die Methoden, die Prozesse erstellen, funktionieren möglicherweise nicht für spezielle Prozesse auf bestimmten nativen Plattformen wie native Fensterprozesse, Dämonprozesse, Win16DOS-Prozesse auf Microsoft Windows oder Shell-Skripts. Der erstellte Unterprozess verfügt standardmäßig nicht über ein eigenes Terminal oder eine eigene Konsole. Sämtliche Standard-IO-Operationen (d. H. Stdin, stdout, stderr) werden zu dem übergeordneten Prozess umgeleitet, wo sie über die durch die Methoden getOutputStream () erhaltenen Ströme aufgerufen werden können. GetInputStream (). Und getErrorStream (). Der übergeordnete Prozess verwendet diese Ströme, um Eingaben in den Unterprozeß einzugeben und diese auszugeben. Da einige native Plattformen nur begrenzte Puffergrößen für Standard-Ein - und Ausgabe-Ströme bereitstellen, kann es vorkommen, dass der Eingabestream nicht sofort eingibt oder der Ausgabestream des Unterprozesses gelesen wird, was dazu führt, dass der Unterprozess blockiert oder sogar blockiert. Der Subprozeß wird nicht abgebrochen, wenn keine Verweise auf das Process-Objekt mehr vorhanden sind, sondern der Subprocess setzt die Ausführung asynchron fort. Es ist nicht erforderlich, dass ein Prozess, der durch ein Process-Objekt dargestellt wird, asynchron oder gleichzeitig mit dem Java-Prozess ausgeführt wird, der das Process-Objekt besitzt. Ab 1.5 ist ProcessBuilder. start () der bevorzugte Weg, um einen Prozess zu erstellen. Konstruktor-Übersicht Konstruktor und Beschreibung Methoden-Detail getOutputStream Gibt den Ausgangsstrom zurück, der mit dem normalen Eingang des Unterprozesses verbunden ist. Die Ausgabe an den Stream wird in den Standard-Eingang des Prozesses geleitet, der durch dieses Process-Objekt dargestellt wird. Wenn die Standard-Eingabe des Subprozesses mit ProcessBuilder. redirectInput umgeleitet wurde, gibt diese Methode einen Null-Output-Stream zurück. Implementierungshinweis: Es ist eine gute Idee für den zurückgegebenen Ausgabestream gepuffert zu werden. Rückgabewert: der Ausgangsstrom, der mit dem normalen Eingang des Unterprozesses verbunden ist getInputStream Gibt den Eingangsstrom zurück, der mit dem normalen Ausgang des Teilprozesses verbunden ist. Der Strom erhält Daten, die von der Standardausgabe des durch dieses Prozessobjekt dargestellten Prozesses geleitet werden. Wenn die Standardausgabe des Subprozesses mit ProcessBuilder. redirectOutput umgeleitet wurde, gibt diese Methode einen Null-Eingangsstrom zurück. Wenn der Standardfehler des Unterprozesses mit ProcessBuilder. redirectErrorStream umgeleitet wurde, wird der von dieser Methode zurückgegebene Eingabestream den fehlerhaften Standardausgang und den Standardfehler des Unterprozesses empfangen. Implementierungshinweis: Es ist eine gute Idee für den zurückgegebenen Eingabestream gepuffert zu werden. Rückgabewert: Der mit dem normalen Ausgang des Unterprozesses verbundene Eingabestream getErrorStream Gibt den Eingangsstrom zurück, der mit dem Fehlerausgang des Unterprozesses verbunden ist. Der Strom erhält Daten, die aus dem Fehlerausgang des Prozesses, der durch dieses Prozessobjekt repräsentiert wird, geleitet werden. Implementierungshinweis: Es ist eine gute Idee für den zurückgegebenen Eingabestream gepuffert zu werden. Rückgabewert: Der mit dem Fehlerausgang des Unterprozesses verbundene Eingabestream bewirkt, dass der aktuelle Thread gegebenenfalls bis zum Beenden des durch dieses Process-Objekt repräsentierten Prozesses gewartet wird. Diese Methode gibt sofort zurück, wenn der Teilprozess bereits beendet ist. Ist der Teilprozeß noch nicht beendet, wird der aufrufende Thread gesperrt, bis der Teilprozeß beendet ist. Gibt den Ausgangswert des Teilprozesses zurück, der durch dieses Process-Objekt repräsentiert wird. Üblicherweise bedeutet der Wert 0 eine normale Beendigung. Throws: InterruptedException - wenn der aktuelle Thread von einem anderen Thread unterbrochen wird, während er wartet, wird das Warten beendet und eine InterruptedException ausgelöst. Wendet den aktuellen Thread gegebenenfalls ab, bis der von diesem Process-Objekt repräsentierte Unterprozeß beendet ist oder die angegebene Wartezeit abgelaufen ist. Wenn der Teilprozess bereits beendet ist, wird diese Methode sofort mit dem Wert true zurückgegeben. Wenn der Prozess nicht abgeschlossen ist und der Timeoutwert kleiner oder gleich Null ist, wird diese Methode sofort mit dem Wert false zurückgegeben. Die Standardimplementierung dieser Methoden fragt den exitValue ab, um zu prüfen, ob der Prozess beendet wurde. Konkrete Implementierungen dieser Klasse werden dringend empfohlen, diese Methode mit einer effizienteren Implementierung zu überschreiben. Parameter: timeout - die maximale Zeit für das Warten der Einheit - die Zeiteinheit des Timeout-Arguments Rückgabewert: true, wenn der Subprocess beendet wurde und false, wenn die Wartezeit abgelaufen ist, bevor der Unterprozeß beendet wurde. Throws: InterruptedException - wenn der aktuelle Thread beim Warten unterbrochen wird. NullPointerException - if unit null Seit: 1.8 Liefert den Exit-Wert für den Subprocess. Gibt den Ausgangswert des Teilprozesses zurück, der durch dieses Process-Objekt repräsentiert wird. Üblicherweise bedeutet der Wert 0 eine normale Beendigung. Throws: IllegalThreadStateException - wenn der von diesem Process-Objekt repräsentierte Teilprozess noch nicht beendet ist Kills den Subprocess. Ob der durch dieses Process-Objekt repräsentierte Teilprozess zwangsweise beendet wird oder nicht, ist implementierungsabhängig. DestroyForcibly Erledigt den Unterprozess. Der durch dieses Process-Objekt repräsentierte Teilprozess wird zwangsweise beendet. Die Standardimplementierung dieser Methode ruft destroy () auf und kann daher den Prozess nicht zwangsweise beenden. Konkrete Implementierungen dieser Klasse werden dringend empfohlen, diese Methode mit einer konformen Implementierung zu überschreiben. Aufrufen dieser Methode auf Prozessobjekte, die von ProcessBuilder. start () und Runtime. exec (java. lang. String) zurückgegeben werden, werden den Prozess zwangsweise beenden. Hinweis: Der Unterprozess kann nicht sofort beendet werden. D. H. IsAlive () kann für einen kurzen Zeitraum nach dem Aufruf von destroyForcibly () true zurückgeben. Diese Methode kann an waitFor () gekettet werden, falls erforderlich. Rückgabewerte: Das Prozessobjekt, das den Unterprozess darstellt, muss zwangsweise zerstört werden. Seit: 1.8 Testet, ob der durch diesen Prozess repräsentierte Unterprozeß lebendig ist. Rückgabewert: true, wenn der von diesem Process-Objekt repräsentierte Teilprozess noch nicht abgeschlossen ist. Seit: 1.8

No comments:

Post a Comment