【发布时间】:2012-09-28 16:54:29
【问题描述】:
我正在尝试通过以下方式获取 dd 的输出。 这个想法是以编程方式捕获 dd 发送到“of”的任何内容。
//Process p;
// ...
p = Runtime.getRuntime().exec(new String[]{"su", "-c", "dd if=/dev/something of=stdout bs=1024"});
按预期使用“cat /some_file”而不是“dd ...”命令有效,但我希望它与 dd 一起使用。
我应该为标准输出使用什么,因为 /dev/stdout 在 Android 中不存在?
这会起作用吗?
您可以假设该应用具有 root 权限。
【问题讨论】:
-
如果您跳过
of参数,我认为您可以将其发送给stdout。 ss64.com/bash/dd.html -
嗯,我认为这可能行得通。但我也需要它不要在最后打印其状态消息。文档提到了 `status=noxfer' 但 Android 的 dd 没有 'status' 选项。
-
状态消息为我打印到
STDERR。至少在控制台上附加“2>/dev/null”可以消除该消息。 -
Doing "dd if=/dev/something bs=1024 2>/dev/null" 回答了我的问题。如果你用它回答我会接受它。