Linux下timeout命令

起因是因为挂在了nfs,当nfs服务器修改了IP或者宕机了,在客户端执行命令
df -h就会hung住。我在ansible里面写脚本会用到了df -h命令。导致ansible一直Hung住。
于是在脚本里面加了timeout命令。https://www.cndba.cn/hbhe0316/article/5010

语法格式:

timeout [OPTION] DURATION COMMAND [ARG]…
DURATION可以是正整数或浮点数,后跟可选的后缀:https://www.cndba.cn/hbhe0316/article/5010

s – 秒 (默认)
m – 分钟
h – 小时
d – 天
如果不添加任何单位,默认是秒。如果DURATION为0,则关联的超时是禁用的。https://www.cndba.cn/hbhe0316/article/5010https://www.cndba.cn/hbhe0316/article/5010https://www.cndba.cn/hbhe0316/article/5010

实例
5秒后终止ping操作:

https://www.cndba.cn/hbhe0316/article/5010
[root@ansible /]# timeout 5 ping www.baidu.com
PING www.a.shifen.com (110.242.68.3) 56(84) bytes of data.
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=1 ttl=53 time=12.0 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=2 ttl=53 time=12.1 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=3 ttl=53 time=11.9 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=4 ttl=53 time=11.5 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=5 ttl=53 time=12.0 ms

10分钟之后终止ping操作:

[root@ansible /]# timeout 10m ping www.baidu.com

1天之后终止ping操作:https://www.cndba.cn/hbhe0316/article/5010

[root@ansible /]# timeout 1d ping www.baidu.com

停掉卡住的进程
SIGTERM,当超过时间限制时发送的默认信号可以被某些进程捕获或忽略。在这种情况下,进程在发送终止信号后继续运行。https://www.cndba.cn/hbhe0316/article/5010https://www.cndba.cn/hbhe0316/article/5010

要确保被执行的的命令终止,请使用-k(—kill after)选项,后面加一个时间。当达到给定的时间限制后会强制结束。

在下面的示例中,timeout命令运行一分钟,如果命令没有结束,将在10秒后终止命令:

[root@ansible /]# timeout -k 10s 1m sh 1.sh

运行在前台
默认情况下,timeout在后台运行托管命令。如果要在前台运行该命令,请使用—foreground选项:https://www.cndba.cn/hbhe0316/article/5010

[root@ansible /]# timeout --foreground 5m ./1.sh

版权声明:本文为博主原创文章,未经博主允许不得转载。

LINUX

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值