Heim > Java > javaLernprogramm > Wie kann Java eine umfassende Liste aktiver Prozesse und Fenster über verschiedene Betriebssysteme hinweg abrufen?

Wie kann Java eine umfassende Liste aktiver Prozesse und Fenster über verschiedene Betriebssysteme hinweg abrufen?

DDD
Freigeben: 2024-12-14 14:15:12
Original
534 Leute haben es durchsucht

How can Java retrieve a comprehensive list of active processes and windows across different operating systems?

So erhalten Sie eine umfassende Liste aktiver Prozesse und Windows mit Java

Problem:

Entwicklung einer plattformübergreifenden Lösung in Java zum Abrufen einer aufgezählten Liste aktuell laufender Prozesse und geöffneter Fenster, analog zu „Aufgabenlisten“-Funktion in Windows.

Lösung:

Java bietet eine robuste Bibliothek für die Interaktion mit dem zugrunde liegenden Betriebssystem, die es Ihnen ermöglicht, einen Katalog aktiver Prozesse abzurufen und Windows mit nativen Befehlen. Hier sind zwei Ansätze:

Ansatz 1: Prozessliste aus dem Befehl analysieren

Dieser Ansatz nutzt den Befehl „ps“ (auf den meisten Unix-ähnlichen Systemen vorhanden) zum Auflisten alle laufenden Prozesse, einschließlich ihrer relevanten Details.

try {
    String line;
    Process p = Runtime.getRuntime().exec("ps -e");
    BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ((line = input.readLine()) != null) {
        System.out.println(line); //<-- Parse data here.
    }
    input.close();
} catch (Exception err) {
    err.printStackTrace();
}
Nach dem Login kopieren

Ansatz 2: Verwendung des Tasklist-Befehls auf Windows

Für Windows-basierte Systeme ist der Befehl „ps“ nicht verfügbar. Stattdessen können Sie das Dienstprogramm „Aufgabenliste“ verwenden, um Prozessinformationen abzurufen.

Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\system32\"+"tasklist.exe");
Nach dem Login kopieren

Daten analysieren und verarbeiten

Sobald Sie den entsprechenden Befehl ausgeführt haben, können Sie dies tun Analysieren Sie die Ausgabe, um bestimmte Prozess- oder Fensterdetails wie Prozess-ID, Name oder Fenstertitel zu extrahieren. Die Nutzung der String-Parsing-Funktionen und regulären Ausdrücke von Java kann diese Aufgabe vereinfachen.

Das obige ist der detaillierte Inhalt vonWie kann Java eine umfassende Liste aktiver Prozesse und Fenster über verschiedene Betriebssysteme hinweg abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage