Получить Activity Monitor (Mac OSX) через Java - PullRequest
1 голос
/ 20 июля 2009

Есть ли способ с помощью 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 ]

2 голосов
/ 07 сентября 2011
  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 голос
/ 20 июля 2009

tasklist.exe не существует на Mac. Используйте что-то вроде ps -eaf

...