确定ping是否已成功发送

时间:2012-02-27 17:16:38

标签: java

我使用jsch库连接到使用ssh连接的服务器。然后我打开一个“exec”通道来执行ping命令来ping其他连接到该服务器的设备。

e.g。

ping 192.168.0.128

然后它开始在控制台中打印出一个字符串的响应,如下所示: - 成功ping:

PING 192.168.0.128 (192.168.0.128) 56(84) bytes of data.
64 bytes from 192.168.0.128: icmp_req=1 ttl=64 time=0.253 ms
64 bytes from 192.168.0.128: icmp_req=2 ttl=64 time=0.231 ms

-unsuccessful ping:

PING 192.168.0.126 (192.168.0.126) 56(84) bytes of data.
From 192.168.0.7 icmp_seq=1 Destination Host Unreachable
From 192.168.0.7 icmp_seq=2 Destination Host Unreachable

如何处理输出以通过编程方式确定连接是否成功?正则表达式?

1 个答案:

答案 0 :(得分:1)

在您的频道对象调用getExitStatus()上,如果它等于0则连接成功,如果它等于1则连接不成功。

请参阅http://linux.die.net/man/8/ping了解退出代码。