Pengguna mesti memahami proses yang berjalan dalam sistem, sama ada latar depan atau latar belakang. Untuk ini, dalam Windows kami mempunyai Pengurus Tugas, tetapi secara dalaman ia menggunakan program yang dipanggil Senarai Tugas. Senarai tugas, selain memberi kami proses yang sedang berjalan, juga memberikan kami maklumat terperinci seperti ID proses, nama sesi, sesi dan penggunaan memori bagi setiap proses.
Dalam artikel ini, kita akan belajar cara mendapatkan senarai proses yang sedang dibuka menggunakan bahasa pengaturcaraan Java.
Langkah 1 - Buat proses yang melaksanakan tasklist.exe
Langkah 2 - Buat kelas BufferedReader yang menerima objek proses.
Langkah 3 - Gunakan gelung sementara untuk membaca butiran proses baris demi baris dan mencetaknya.
Untuk menjalankan tasklist.exe yang terletak dalam folder system32, kita perlu memanggil proses obj dan kemudian melaksanakannya.
Berikut ialah sintaks untuk menggunakan kaedah ini untuk melaksanakan program tasklist.exe:
Process process_object = Runtime.getRuntime().exec(System.getenv("windir") + "\system32" + "tasklist.exe");
NOTAProgram ini tidak berfungsi dengan mana-mana editor dalam talian. Untuk mendapatkan senarai proses yang sedang dibuka dalam sistem tempatan anda, anda hanya menjalankannya pada editor tempatan anda (Java IDE).
Dalam kaedah ini, kami memanggil proses yang melaksanakan tasklist.exe dalam folder WIN32. Kami kemudian menggunakan BufferedReader untuk membaca semua proses aktif dan mencetaknya ke konsol satu demi satu.
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 ...
Dalam artikel ini, kami meneroka cara mencari senarai proses yang sedang dibuka di Jawa.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan senarai proses yang sedang dibuka (Java)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!