1

有没有一种方法可以使用 Java 获得在 Mac 上运行的所有活动进程的列表?

我可以在 Windows 中使用下面的代码返回任务列表,但这会在 Mac 上引发异常。如果某些应用程序也在运行,我希望我的应用程序停止。

有任何想法吗?谢谢。

窗口代码:

Process p = Runtime.getRuntime().exec("tasklist.exe /nh");
            BufferedReader input = new BufferedReader
            (new InputStreamReader(p.getInputStream()));

            //while there are more processes in the task manager list
            while ((line = input.readLine()) != null) {
                      //insert code here for each task running
            }
4

2 回答 2

2
  String line;
  String sysUserName=System.getProperty("user.name");
    Process p = Runtime.getRuntime().exec("tasklist /fi  \"username      eq"+sysUserName+"\""); // for windows
    // Process p = Runtime.getRuntime().exec("ps -u "+sysUserName+""); // for mac
    BufferedReader input =
            new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ((line = input.readLine()) != null) {
        System.out.println(line); //<-- Parse data here.

    }
    input.close();
于 2011-09-07T06:42:28.647 回答
1

tasklist.exe 在 Mac 上不存在。使用类似 ps -eaf

于 2009-07-20T17:14:25.930 回答