Benutzer müssen die im System ablaufenden Prozesse verstehen, egal ob im Vordergrund oder im Hintergrund. Zu diesem Zweck gibt es in Windows einen Task-Manager, der jedoch intern ein Programm namens „Task List“ verwendet. Die Aufgabenliste liefert uns nicht nur die aktuell ausgeführten Prozesse, sondern auch detaillierte Informationen wie die Prozess-ID, den Sitzungsnamen, die Sitzung und die Speichernutzung jedes Prozesses.
In diesem Artikel erfahren Sie, wie Sie mit der Programmiersprache Java eine Liste der aktuell geöffneten Prozesse erhalten.
Schritt 1 – Erstellen Sie einen Prozess, der tasklist.exe ausführt
Schritt 2 – Erstellen Sie eine BufferedReader-Klasse, die ein Prozessobjekt akzeptiert.
Schritt 3 - Verwenden Sie eine While-Schleife, um die Prozessdetails Zeile für Zeile zu lesen und auszudrucken.
Um tasklist.exe im Ordner system32 auszuführen, müssen wir den Prozess obj aufrufen und ihn dann ausführen.
Das Folgende ist die Syntax für die Verwendung dieser Methode zum Ausführen des Programms tasklist.exe:
Process process_object = Runtime.getRuntime().exec(System.getenv("windir") + "\system32" + "tasklist.exe");
HINWEISDieses Programm funktioniert nicht mit Online-Editoren. Um eine Liste der derzeit geöffneten Prozesse in Ihrem lokalen System zu erhalten, führen Sie sie einfach in Ihrem lokalen Editor (Java IDE) aus.
Bei dieser Methode rufen wir einen Prozess auf, der tasklist.exe im WIN32-Ordner ausführt. Anschließend verwenden wir BufferedReader, um alle aktiven Prozesse zu lesen und sie einzeln auf der Konsole auszugeben.
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 ...
In diesem Artikel haben wir untersucht, wie man die Liste der aktuell geöffneten Prozesse in Java findet.
Das obige ist der detaillierte Inhalt vonWie erhalte ich die Liste der aktuell geöffneten Prozesse (Java)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!