我正在尝试使用groovy脚本ping IP地址,如下所示
def proc = 'ping -c 1 localhost'.execute()
proc.waitFor()
println "${proc.exitValue()}"=='0' ? 'OK' : 'NOT OK'
代码工作正常并在linux机器上将输出打印为OK。 但是当在Windows上执行相同的代码块时,调用'proc.waitFor()'不会响应或进入无限等待期。由于'-c 1'不是Windows中的有效选项。
但是如果我使用没有选项'-c'的ping
def proc = 'ping localhost'.execute()
以上代码在Windows上工作正常,因为它只会ping 4次并退出。但不是在Linux上它会持续ping,直到中断,它永远不会到达proc.waitFor()行。 有没有办法摆脱没有响应的'proc.waitFor()'调用。
答案 0 :(得分:2)
答案 1 :(得分:0)
您可以在Windows中使用ping -n 1 localhost
。有了它,你将在linux中实现与ping -c 1 localhost
相同的效果。
如果您正在寻找“常规解决方案”,请参阅tim_yates的回答。