Rumah > Java > javaTutorial > teks badan

Bagaimana untuk mendapatkan senarai proses yang sedang dibuka (Java)?

PHPz
Lepaskan: 2023-09-01 13:53:12
ke hadapan
1336 orang telah melayarinya

Bagaimana untuk mendapatkan senarai proses yang sedang dibuka (Java)?

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.

Algoritma

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.

Tatabahasa

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");
Salin selepas log masuk

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).

Kaedah: Gunakan tasklist.exe untuk menyenaraikan semua proses aktif

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.

Contoh

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();
      }
   }
}
Salin selepas log masuk

Output

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
...
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan