为shell脚本中命令设置超时时间

最近写一个检查所有集群状态的脚本,在使用ssh在server上执行远程命令时,如果server一时网络不通,则ssh命令会等将近1分钟才会返回,这会延长脚本的执行。通过google,也在网上查到一些解决方案,比如设置timeout、TMOUT等,但timeout好像不管用,而TMOUT设置了之后,如果在设定的时间之内没有响应的话整个ssh连接都会被干掉,这明显不符合我的需求啊。

最后,我发现shell里有一个命令timeout可以实现当一个命令在规定时间内不返回就强制返回的功能。

timeout 10 ssh root@${api_node_ip} "ls"

猜你喜欢

转载自blog.csdn.net/weixin_39845407/article/details/81486041