我使用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
如何处理输出以通过编程方式确定连接是否成功?正则表达式?
答案 0 :(得分:1)
在您的频道对象调用getExitStatus()
上,如果它等于0则连接成功,如果它等于1则连接不成功。
请参阅http://linux.die.net/man/8/ping了解退出代码。