因为项目需求需要,检查磁盘读写能力,利用 dd 命令,这里有个问题就是,dd命令的返回信息不在正常信息输入流中,而是在错误流中。
String [] cmd = new String[]{ "/bin/sh", "-c", "dd if=/dev/sda of=/dev/null bs=8k count=10" };
//这里执行dd命令的返回结果在错误流中
Runtime run = Runtime.getRuntime();
Process process = run.exec(cmd);
InputStream errorStream = process.getErrorStream();
String info = IoUtil.read(errorStream, "UTF-8");
在错误流中获取了信息,这里就有点疑惑了,执行这个命令是失败的?不应该吧这个返回结果看这也不像执行错误啊
10+0 records in
10+0 records out
81920 bytes (82 kB, 80 KiB) copied, 0.000460218 s, 178 MB/s
有大神知道原因麻烦告知一下,谢谢