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

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

PHPz
PHPzke hadapan
2023-09-01 13:53:121328semak imbas

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");

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

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

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Artikel sebelumnya:Varians dalam JawaArtikel seterusnya:Varians dalam Jawa