Home >Java >javaTutorial >How Can Java Retrieve a Comprehensive List of Currently Running Processes on Both Unix and Windows Systems?
Retrieving a Comprehensive List of Current Processes
To acquire a comprehensive list of currently active windows and processes on a local machine, Java provides a versatile solution. By leveraging the ubiquitous "ps -e" command, you can effortlessly capture data on all running processes on Unix-based systems.
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(); }
This approach enables you to interrogate and parse the process list, providing access to valuable information such as process ID, name, status, and more.
For Windows systems, a slightly different implementation is required. The "tasklist.exe" utility should be utilized instead, as seen in the code snippet below:
Process p = Runtime.getRuntime().exec (System.getenv("windir") +"\system32\"+"tasklist.exe");
Once you have captured this data, you can parse it to extract the desired information, such as process names, status, and usage statistics. This versatile approach allows for a cross-platform solution to retrieve a comprehensive list of current processes using only Java.
The above is the detailed content of How Can Java Retrieve a Comprehensive List of Currently Running Processes on Both Unix and Windows Systems?. For more information, please follow other related articles on the PHP Chinese website!