为shell命令设置超时

原创 2015年11月17日 21:39:10

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

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

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

shell脚本超时控制

写脚本的时候,经常需要用到超时控制。看《shell专家编程》时看到一个好例:修改了一下, 1.超过timeout时间还没执行完,则kill进程,发邮件告警: set -x mailSend...
  • wisgood
  • wisgood
  • 2013年12月24日 16:08
  • 9174

linux expect中的timeout设定

在做日志分析工具时,发现在屏幕上拿到日志结果会有点慢,然后查了一下expect ssh timeout的设置,原来是这里有个默认时间的问题,所以整理一下 expect脚本我们都知道,首先spawn我们...
  • beibei0921
  • beibei0921
  • 2015年04月29日 19:14
  • 4274

设置Linux命令或者shell脚本的运行时间限制

有些shell脚本或者命令,只有在规定时间内运行完成才有意义,这时可以设置脚本/命令的时间限制,如果在设定时间内,还没有完成,则终止命令/脚本。可以使用timeout命令来做到,先看一下它的用法: $...
  • qingsong3333
  • qingsong3333
  • 2017年08月17日 22:16
  • 1754

设定Shell command的timeout

同事问我能不能timeout 一个shell命令,我想当然的回答不能,因为印象中没有见过。但是查过之后,发现还真的可以, 方法也很巧妙,又学了一招。 #!/bin/sh timeout=1...
  • gunman524
  • gunman524
  • 2013年09月16日 10:40
  • 616

设置Linux shell超时自动退出

Linux shell,一般默认情况下是不会超时退出的,但是有的时候我们想要让它在多少分钟后没有操作自动退出终端(听起来有点像windows多少分钟后自动锁屏一样)。我们可以通过设置来实现这一功能。 ...
  • mrpjus1
  • mrpjus1
  • 2013年12月20日 20:28
  • 5138

shell下控制命令执行超时自动终止

shell下控制命令执行超时自动终止 可能hung的任务 & { sleep ${定义任务超时时间} ; kill $! & }...
  • achejq
  • achejq
  • 2017年08月18日 17:58
  • 672

Linux命令——timeout

Linux命令——timeoutLinux命令timeout 命令简介 使用方法 选项详解 示例 命令简介运行指定的命令,如果在指定时间后仍在运行,则杀死该进程。用来控制程序运行的时间。使用方法tim...
  • xiaqunfeng123
  • xiaqunfeng123
  • 2017年01月10日 16:48
  • 5271

防止shell脚本长时间运行导致ssh超时

在一些对安全性要求较高的场景下,ssh的超时时间是管理员预先设置好的,在闲置一段时间后ssh连接会自动断开。这种情况下如果通过ssh执行脚本,而脚本运行时间又比较长的话,会导致ssh客户端和服务器长时...
  • napolunyishi
  • napolunyishi
  • 2014年05月06日 17:17
  • 3483

linux shell 脚本/命令 超时 结束

command & { TIMEOUT=xxx; sleep ${TIMEOUT} ; eval 'kill -9 $!' & /dev/null; }
  • lynnos
  • lynnos
  • 2017年10月01日 18:03
  • 245

curl的超时时间设置

使用curl时,有两个超时时间:一个是连接超时时间,另一个是数据传输的最大允许时间。 连接超时时间用 --connect-timeout 参数来指定,数据传输的最大允许时间用 -m 参数来指定。...
  • youngqj
  • youngqj
  • 2012年02月13日 11:03
  • 40137
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为shell命令设置超时
举报原因:
原因补充:

(最多只允许输入30个字)