Maison >Java >javaDidacticiel >Quelle est l'importance de l'interface ProcessHandle dans Java 9 ?

Quelle est l'importance de l'interface ProcessHandle dans Java 9 ?

WBOY
WBOYavant
2023-08-27 08:17:071160parcourir

L'interface

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

ProcessHandle a été introduite dans Java 9. Il nous permet d'effectuer des opérations et de vérifier l'état des processus associés. Cette interface fournit l'ID de processus (pid) natif, l'heure de début, le temps CPU accumulé, les paramètres, les commandes, l'utilisateur, le processus parent et les descendants d'un processus. L'interface

ProcessHandle nous permet d'effectuer le processus. opérations suivantes.

    Il renvoie un
  • ProcessHandle.Info contenant plus d'informations sur le processus
  • Pid du processus
  • s'il est actif
  • Récupération d'un instantané des enfants directs du processus
  • Récupération d'un instantané de toutes les descentes de le processus
  • Récupère un instantané de tous les processus en cours d'exécution
  • Permet au processus d'être détruit
  • Lorsque le Progress se termine, il renvoie un
  • CompletableFuture

ProcessHandle.Inf

o enregistrer les informations à partir de l'instantané du processus, comprenant : La commande du processus

    Les paramètres du processus
  • La ligne de commande du processus
  • L'heure de début du processus
  • Le temps CPU utilisé par le processus
  • L'utilisateur du processus
  • Dans l'exemple ci-dessous, nous pouvons imprimer le
  • pid
du handle du processus actuel en utilisant la méthode

pid(), et utiliser la méthode isAlive() pour vérifier si le processus actuel est en cours d'exécution. Exemple

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);
   }
}

Sortie

<strong>PID: 6484
true</strong>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer