Maison  >  Article  >  Java  >  Comment obtenir la liste des processus actuellement ouverts (Java) ?

Comment obtenir la liste des processus actuellement ouverts (Java) ?

PHPz
PHPzavant
2023-09-01 13:53:121328parcourir

Comment obtenir la liste des processus actuellement ouverts (Java) ?

Les utilisateurs doivent comprendre les processus en cours d'exécution dans le système, qu'ils soient au premier plan ou en arrière-plan. Pour cela, sous Windows, nous avons un gestionnaire de tâches, mais en interne, il utilise un programme appelé Liste des tâches. La liste des tâches, en plus de nous donner les processus en cours d'exécution, nous fournit également des informations détaillées telles que l'ID du processus, le nom de la session, la session et l'utilisation de la mémoire de chaque processus.

Dans cet article, nous apprendrons comment obtenir la liste des processus actuellement ouverts à l'aide du langage de programmation Java.

Algorithme

Étape 1 - Créez un processus qui exécute tasklist.exe

Étape 2 - Créez une classe BufferedReader qui accepte un objet de processus.

Étape 3 - Utilisez une boucle while pour lire les détails du processus ligne par ligne et les imprimer.

Grammaire

Pour exécuter tasklist.exe situé dans le dossier system32, nous devons appeler le processus obj puis l'exécuter.

Voici la syntaxe permettant d'utiliser cette méthode pour exécuter le programme tasklist.exe :

Process process_object = Runtime.getRuntime().exec(System.getenv("windir") + "\system32" + "tasklist.exe");

REMARQUECe programme ne fonctionne avec aucun éditeur en ligne. Pour obtenir une liste des processus actuellement ouverts sur votre système local, il vous suffit de l'exécuter sur votre éditeur local (Java IDE).

Méthode : utilisez tasklist.exe pour répertorier tous les processus actifs

Dans cette méthode, nous appelons un processus qui exécute tasklist.exe dans le dossier WIN32. Nous utilisons ensuite BufferedReader pour lire tous les processus actifs et les imprimer un par un sur la console.

Exemple

import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
   public static void main(String[] args) {
      try {

         // String variable to store process details
         String processes;

         // Execute tasklis.exe from win32
         Process p = Runtime.getRuntime().exec(System.getenv("windir") + "\system32" + "tasklist.exe");
         
         // Buffered reader to read from the process object
         BufferedReader br = new BufferedReader(newInputStreamReader(p.getInputStream()));
        
        // Prints all processes one by one
         while ((processes = br.readLine()) != null) {
            System.out.println(processes);
         }
      }
      catch (Exception e) {
         e.printStackTrace();
      }
   }
}

Sortie

Image Name                    PID    Session Name     Session#    Mem Usage

========================= ======== ================ =========== ============
System Idle Process              0 Services                   0          8 K
System                           4 Services                   0      9,416 K
Registry                       140 Services                   0     30,420 K
smss.exe                       604 Services                   0      1,076 K
csrss.exe                      976 Services                   0      5,936 K
csrss.exe                     1112 Console                    1     14,144 K
winlogon.exe                  1164 Console                    1     11,704 K
wininit.exe                   1216 Services                   0      6,628 K
services.exe                 1260  Services                   0      9,804 K
lsass.exe                    1276  Services                   0     27,360 K
svchost.exe                  1396  Services                   0      1,388 K
fontdrvhost.exe              1428  Console                    1      6,608 K
...

Dans cet article, nous avons exploré comment trouver la liste des processus actuellement ouverts en Java.

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
Article précédent:Variance en JavaArticle suivant:Variance en Java