我在android应用中执行系统命令,但是我无法正确执行结果。
这是我的代码:
String cmd = "ls /";
try {
Process p = Runtime.getRuntime().exec(cmd);
InputStream stdout = p.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stdout));
p.waitFor();
if (p.exitValue() != 0) {
System.out.println(p.exitValue());
Log.d("test",p.exitValue()+" ");
}
String s;
List<String> stdout_list = new ArrayList<>();
while ((s = reader.readLine()) != null) {
Log.d("test", s);
s = s + "\n";
stdout_list.add((String)s);
}
callableGetData.stdout_list = stdout_list;
} catch(Exception e) {
System.out.println(e);
}
cmd,例如ls
,将得到错误的答案1
,但是如果我使用ps -A
,则会得到正确的答案。错误的答案1
可能是exitValue()
。
这是什么原因造成的?