Home >Java >javaTutorial >How to get the list of currently open processes (Java)?
Users must understand the processes running in the system, whether in the foreground or background. For this, in Windows we have a Task Manager, but internally it uses a program called Task List. The task list, in addition to giving us the currently running processes, also provides us with detailed information such as the process ID, session name, session and memory usage of each process.
In this article, we will learn how to get the list of currently open processes using Java programming language.
Step 1 - Create a process that executes tasklist.exe
Step 2 - Create a BufferedReader class that accepts a process object.
Step 3 - Use a while loop to read the process details line by line and print them out.
To run tasklist.exe located in the system32 folder, we need to call the process obj and then execute it.
The following is the syntax for using this method to execute the tasklist.exe program:
Process process_object = Runtime.getRuntime().exec(System.getenv("windir") + "\system32" + "tasklist.exe");
NoteThis program does not work with any online editor. To get a list of currently open processes on your local system, you just run it on your local editor (Java IDE).
In this method, we call a process that executes tasklist.exe in the WIN32 folder. We then use BufferedReader to read all active processes and print them to the console one by one.
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 ...
In this article, we explored how to find the list of currently open processes in Java.
The above is the detailed content of How to get the list of currently open processes (Java)?. For more information, please follow other related articles on the PHP Chinese website!