Как вывести список корневых процессов 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.