Heim  >  Artikel  >  Java  >  Welche Bedeutung hat die ProcessHandle-Schnittstelle in Java 9?

Welche Bedeutung hat die ProcessHandle-Schnittstelle in Java 9?

WBOY
WBOYnach vorne
2023-08-27 08:17:071080Durchsuche

Die

ProcessHandle接口在Java 9中的重要性是什么?

ProcessHandle-Schnittstelle wurde in Java 9 eingeführt. Es ermöglicht uns, Vorgänge durchzuführen und den Status damit verbundener Prozesse zu überprüfen. Diese Schnittstelle stellt die native Prozess-ID (PID), die Startzeit, die kumulierte CPU-Zeit, Parameter, Befehle, den Benutzer, den übergeordneten Prozess und die Nachkommen des Prozesses bereit. Die

ProcessHandle-Schnittstelle ermöglicht uns die Ausführung folgende Operationen.

  • Es gibt ein ProcessHandle.Info zurück, das weitere Informationen über den Prozess enthält
  • Pid des Prozesses
  • wenn er aktiv ist
  • Schnappschüsse der direkten untergeordneten Elemente des Prozesses abrufen
  • Schnappschüsse aller Abstiege des Prozesses abrufen
  • Ruft eine Momentaufnahme aller aktuell ausgeführten Prozesse ab.
  • Ermöglicht die Prozesszerstörung.
  • Wenn der Fortschritt beendet wird, wird ein CompletableFuture

ProcessHandle.Inf

o zurückgegeben ein ProcessHandle zum Speichern von Informationen aus dem Prozess-Snapshot, einschließlich:

  • Der Befehl des Prozesses
  • Die Parameter des Prozesses
  • Die Befehlszeile des Prozesses
  • Die Startzeit des Prozesses
  • Vom Prozess verwendete CPU-Zeit
  • Der Benutzer des Prozesses

Im folgenden Beispiel können wir die pid des aktuellen Prozesshandles mit der Methode pid() drucken und mit der Methode isAlive() prüfen, ob der aktuelle Prozess ausgeführt wird.

Beispiel
import java.util.Optional;

public class ProcessHandleTest {
   public static void main(String args[]) {
      long pid = ProcessHandle.current().pid();

      <strong>ProcessHandle </strong>currentProcess = ProcessHandle.current();
      System.out.println("PID: " + currentProcess.<strong>pid</strong><strong>()</strong>);

      <strong>Optional<ProcessHandle></strong> processHandle = ProcessHandle.<strong>of</strong>(pid);
      boolean isAlive = processHandle.<strong>isPresent()</strong> && processHandle.get().<strong>isAlive()</strong>;
      System.out.println(isAlive);
   }
}

Ausgabe

<strong>PID: 6484
true</strong>

Das obige ist der detaillierte Inhalt vonWelche Bedeutung hat die ProcessHandle-Schnittstelle in Java 9?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen