Rumah >Java >javaTutorial >Bagaimanakah Java boleh mendapatkan semula senarai lengkap proses dan tetingkap aktif merentas sistem pengendalian yang berbeza?

Bagaimanakah Java boleh mendapatkan semula senarai lengkap proses dan tetingkap aktif merentas sistem pengendalian yang berbeza?

DDD
DDDasal
2024-12-14 14:15:12600semak imbas

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

Cara Mendapatkan Senarai Komprehensif Proses Aktif dan Windows Menggunakan Java

Masalah:

Merancang penyelesaian berbilang platform dalam Java untuk mendapatkan senarai terhitung proses yang sedang berjalan dan tetingkap terbuka, serupa dengan fungsi 'senarai tugas' dalam Windows.

Penyelesaian:

Java menawarkan perpustakaan yang teguh untuk berinteraksi dengan sistem pengendalian asas, membolehkan anda mendapatkan katalog proses aktif dan tingkap menggunakan arahan asli. Berikut ialah dua pendekatan:

Pendekatan 1: Menghuraikan Senarai Proses daripada Perintah

Pendekatan ini memanfaatkan arahan 'ps' (ada pada kebanyakan sistem seperti Unix) untuk menyenaraikan semua proses yang sedang berjalan, termasuk butiran yang berkaitan.

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

Pendekatan 2: Menggunakan Perintah Senarai Tugas pada Windows

Untuk sistem berasaskan Windows, arahan 'ps' tidak tersedia. Sebaliknya, anda boleh menggunakan utiliti 'senarai tugas' untuk mendapatkan semula maklumat proses.

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

Menghuraikan dan Memproses Data

Setelah anda melaksanakan arahan yang sesuai, anda boleh menghuraikan output untuk mengekstrak butiran proses atau tetingkap tertentu, seperti ID proses, nama atau tajuk tetingkap. Menggunakan keupayaan penghuraian String Java dan ungkapan biasa boleh memudahkan tugas ini.

Atas ialah kandungan terperinci Bagaimanakah Java boleh mendapatkan semula senarai lengkap proses dan tetingkap aktif merentas sistem pengendalian yang berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn