Java调用linux命令

bianyeah 2017-04-01 09:03:24
想调用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
...全文
161 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bianyeah 2017-04-02
  • 打赏
  • 举报
回复
试了一下更改文件权限,chmod 和 chown,发现iperf部分功能还是可以用的
bianyeah 2017-04-02
  • 打赏
  • 举报
回复
试了一下,调用其他软件是可以的,比如netperf。会不会是软件权限问题所以不能调用?

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧