确定ping是否已成功发送

问题描述:

我正在使用jsch库使用ssh连接来连接服务器。然后,我打开一个“exec”通道来执行ping命令,以ping其他连接到该服务器的设备。确定ping是否已成功发送

例如

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 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 

如何我可以处理输出以编程方式确定连接是否成功吗?一个正则表达式模式?

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

查看http://linux.die.net/man/8/ping退出代码。

+0

OK现在就排序。 – Radek 2012-02-28 12:50:58