我必须在Linux平台上使用TCL实现ping命令响应。我需要在TCL中获取真或假标志,具体取决于服务器是否已连接。基于此我需要做一些操作。
有人帮忙吗?
答案 0 :(得分:3)
只需exec
常规ping
二进制文件并捕获其错误代码:Unix ping返回0,1或2,具体取决于它是否在验证主机的可达性时是否成功。
您可能需要对-n N
使用-q
和ping
个选项,并将其stdout和stderr重定向到/dev/null
。
有关如何通过exec
调用外部程序并捕获可能的错误的示例,请参阅exec
手册页中的“Unix”部分。
答案 1 :(得分:1)
使用exec对于unix系统来说已经足够了,但是你可能想要使用更直接的方法,例如。用于多平台脚本
挖掘一下,nsicmp TCL软件包似乎提供了这样的ICMP ping支持:https://bitbucket.org/naviserver/nsicmp/overview