日期:2014-05-18  浏览次数:20933 次

java实现linux的ping命令问题

public String execShellPingCmd(String cmd) {
String[] command = new String[] {"/usr/bin/sh", "-c", cmd};
        Process process;
try {
process = Runtime.getRuntime().exec(command);
// try {
// process.waitFor();
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
LineNumberReader lr = new LineNumberReader(new InputStreamReader(process.getInputStream()));
StringBuffer sb = new StringBuffer();
// BufferedReader bis = new BufferedReader(new InputStreamReader(
//                    process.getInputStream()));
            String s_temp1 = null;
            while ((s_temp1 = lr.readLine()) != null) {
             sb.append(s_temp1).append("\n");
            }
            return sb.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}

程序中自动执行:
execShellPingCmd(ping -c 3 -s 56 -w 5 IP);
没有任何信息返回。
而在linux机器上手动执行:
ping -c 3 -s 56 -w 5 IP是可以的。
请教各位大牛,是哪的问题啊?
------解决方案--------------------