爲shell命令設置超時

最近寫一個檢查所有集羣狀態的腳本,在使用ssh在server上執行遠程命令時,如果server一時網絡不通,則ssh命令會等將近1分鐘纔會返回,這會延長腳本的執行。通過google,也在網上查到一些解決方案,比如設置timeout、TMOUT等,但timeout好像不管用,而TMOUT設置了之後,如果在設定的時間之內沒有響應的話整個ssh連接都會被幹掉,這明顯不符合我的需求啊。

最後,我發現shell裏有一個命令timeout可以實現當一個命令在規定時間內不返回就強制返回的功能。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章