netstat和grep在Java中失败了
我正在windows7上的cygwin中运行以下代码,但它没有给出输出,有人能帮我吗? 我在linux box中通过runtime exec()调用使用了“netstat-a | grep-builded”,并获得了所有其他状态,但我只需要已建立的状态。(有人能帮忙吗?)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestNetStat {
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("netstat -anl | grep 'LISTEN \\| ESTABLISHED \\| SYN_SENT \\| SYN_RECV \\| LAST_ACK \\| LAST_ACK \\| CLOSE_WAIT \\| TIME_WAIT \\| CLOSED \\| CLOSING \\| FIN_WAIT1 \\| FIN_WAIT2' | awk '/^tcp/ {t[$NF]++}END{for(state in t){print state, t[state]} }'");
BufferedReader in = new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
共 (0) 个答案