Результат выполнения «busybox top» во время выполнения приложения Android отличается от вывода оболочки

Я пытаюсь создать системное приложение для Android, чтобы отображать верхние записи при запуске команды busybox top -n 1. Я реализовал это, определив процесс в своем приложении:

Process p = Runtime.getRuntime().exec(new String[]{"/system/bin/sh", "-c" "busybox top -n 1");

а затем чтение из привязки stdout к буферизованному InputStream

BufferedReader in = new BufferedReader(new 
InputStreamReader(p.getInputStream()));
while ((line = in.readLine()) != null) {
    Log.d("output",line);
}

Хотя мне удалось получить вывод от запуска этого, похоже, что процессы, перечисленные в списках приложений, — это только те, которые порождены самим приложением, что отличается от вывода прямого выполнения busybox top -n 1 с использованием adb shell. Что я могу сделать, чтобы мое приложение увидело все запущенные системные процессы?


person Andrew L    schedule 21.07.2017    source источник