Java调用linux命令
想调用iperf程序(下载到linux系统中一个测网络性能的程序),但这样调用就一直说命令执行失败
try {
String shpath="/home/zlj/eclipse/workspace/test.sh"; //程序路径
String var="v"; //参数为v,调用iperf -v命令
String cmd = "/bin/sh " + shpath + " " + var;
Process ps=Runtime.getRuntime().exec(cmd);
ps.waitFor();
BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
StringBuffer sb = new StringBuffer();
// System.out.println(br.readLine());
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append("\n");
}
String result = sb.toString();
textArea.append(result);
// 检查命令是否执行失败。
if (ps.waitFor() != 0) {
if (ps.exitValue() == 1)// p.exitValue()==0表示正常结束,1:非正常结束
System.err.println("命令执行失败!");
}
}
catch (Exception e1) {
e1.printStackTrace();
}
脚本里这样写的
#!/bin/bash
case $1 in
v) iperf -v
esac