android - getRuntime().exec 和 Processbuilder 仅返回 2 行数据
问题描述
我试图获得一个顶级命令输出并将其显示在 UI 中。但是当我运行下面的代码(Runtime.exec & processbuilder)时,它只给出了两行结果。
谁能帮我这个?`
String command = "ps";
ProcessBuilder pb = new ProcessBuilder(command);
try {
Process process = pb.start();
process.waitFor();
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
topcommandoutput.append(line+"\n");
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
和
String command = "top -s cpu -n 1 -m " + noofprocess;
Process p;
try {
String line = "";
p = Runtime.getRuntime().exec( command);
p.waitFor();
Scanner reader = new Scanner(new InputStreamReader(p.getInputStream()));
while ((line = reader.nextLine())!= "null") {
topcommandoutput.append(line+"\n");
}
ParseText(timestamp);
} catch (Exception e) {
e.printStackTrace();
}
`
解决方案
推荐阅读
- java - 在清单文件中使用 -cp 选项和类路径运行 java 程序
- python - Python 子包导入
- jpa - Hibernate Envers 无法删除实体
- javascript - 无法使用 jquery-validation.js submitHandler 函数发送“multipart/form-data”表单数据
- c# - 查找用法时如何让 Resharper 列出隐式类型的变量
- arrays - 检查数组何时完成洗牌以执行某些操作
- oracle - 动态操作刷新页面中的所有报表
- php - 空值时的PHP偏移警告
- c# - System.Transactions.TransactionStateInDoubt.EndCommit(InternalTransaction tx):抛出异常 C# .Net
- javascript - OCR 扫描文件并检索元数据