【发布时间】:2012-02-02 17:11:22
【问题描述】:
在一个root的android设备上,我尝试运行一个读取内核日志的cat命令,如下:
Process p = Runtime.getRuntime().exec("su");
p = Runtime.getRuntime().exec("/system/bin/cat /proc/kmsg");
su 命令执行成功,但 cat 没有执行成功。 我尝试使用 getInputStream() 读取命令的输出,但没有任何内容,如下所示:
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((read = err.read(buffer)) > 0)
{ //read error to buffer
catOutput.append(buffer, 0, read);
}
in.close();
我在 ls 命令中使用了相同的代码,而不是显示内核日志,它工作得很好并显示了结果。
我想知道在执行 cat 命令时我遇到了什么错误并希望在 shell 上看到错误消息。尝试了 p.getErrorStream() 但它没有给我任何结果。 有人可以帮我吗?谢谢。
【问题讨论】:
标签: android shell runtime message