2009-07-20 3 views
1

Есть ли способ использовать Java, чтобы я мог получить список всех активных процессов, работающих на Mac?Получить мониторинг активности (Mac OSX) через Java

Я могу сделать это в 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 
      } 

ответ

1

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

+0

Мне нужно контролировать процессы программно. Есть какой-либо способ сделать это? Я не знаю, набирает ли эта команда в Терминал, вернет в мою программу массив какого-то типа со всеми именами процессов. – 2009-07-20 17:34:14

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(); 
Смежные вопросы