通过Java获取Activity Monitor(Mac OSX)

时间:2009-07-20 17:12:14

标签: java macos monitoring android-activity

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

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

有什么想法吗?感谢。

Windows代码:

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
            }

2 个答案:

答案 0 :(得分: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();

答案 1 :(得分:1)

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

的东西