我正在尝试为 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
using的输出不同adb shell
。我该怎么做才能让我的应用程序看到所有正在运行的系统进程?