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.
É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.
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).
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.
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(); } } }
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!