Как вывести список корневых процессов Android

Я пытаюсь перечислить все запущенные в данный момент процессы, используя следующий код:

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> processInfo = am.getRunningAppProcesses();
for (int i = 0; i < processInfo.size(); i++) {
Log.d("Process: ",""+processInfo.get(i).processName );
}

Он перечисляет все, кроме корневых процессов, таких как 'sh', 'strace' и т. Д. Кто-нибудь может сказать, как их перечислить? Они перечислены при выполнении команды "ps" через командную строку оболочки.

1 ответ

Выполнить ps Команда через оболочку и обрабатывать и отображать вывод самостоятельно. ActivityManager будет возвращать только приложения.

Вы можете увидеть класс TerminalUtils из моего проекта с открытым исходным кодом для примера запуска команд терминала через Java и получения вывода в Strings.

Другие вопросы по тегам