首頁 >Java >java教程 >Java 如何檢索 Unix 和 Windows 系統上目前正在執行的進程的綜合清單?

Java 如何檢索 Unix 和 Windows 系統上目前正在執行的進程的綜合清單?

DDD
DDD原創
2024-12-11 21:02:14373瀏覽

How Can Java Retrieve a Comprehensive List of Currently Running Processes on Both Unix and Windows Systems?

檢索當前進程的完整列表

為了獲取本地計算機上當前活動窗口和進程的完整列表,Java 提供了多功能解決方案。透過利用無所不在的「ps -e」指令,您可以輕鬆擷取基於 Unix 的系統上所有正在執行的進程的資料。

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

這種方法使您能夠詢問和解析進程列表,從而提供對有價值的信息,例如進程 ID、名稱、狀態等。

對於 Windows 系統,需要稍微不同的實作。應使用“tasklist.exe”實用程序,如下面的程式碼片段所示:

Process p = Runtime.getRuntime().exec
    (System.getenv("windir") +"\system32\"+"tasklist.exe");

捕獲此資料後,您可以解析它以提取所需的信息,例如進程名稱、狀態和使用情況統計數據。這種多功能方法允許跨平台解決方案僅使用 Java 檢索當前進程的完整清單。

以上是Java 如何檢索 Unix 和 Windows 系統上目前正在執行的進程的綜合清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn