概述
由于需要对指定命令限制执行时长,故查找相关资料。
使用
介绍
timeout [选项] 数字[后缀] 命令 [参数]...
后缀 s 代表秒(默认值), m 代表分, h 代表小时, d 代表天。
[root@VM-8-11-centos ~]# timeout --help
Usage: timeout [OPTION] DURATION COMMAND [ARG]...
or: timeout [OPTION]
Start COMMAND, and kill it if still running after DURATION.
长选项的强制性参数对于短选项也是强制性的.
--preserve-status
以与 COMMAND 相同的状态退出,即使命令超时
--foreground
当不直接从 shell 提示运行 timeout 时,允许 COMMAND 从 TTY 读取并获取 TTY 信号; 在这种模式下,COMMAND 的孩子不会超时
-k, --kill-after=DURATION
如果在发送初始信号后 COMMAND 仍在运行这么长时间,也发送 KILL 信号
-s, --signal=SIGNAL
指定超时时发送的信号; SIGNAL 可以是"HUP"之类的名称或数字; 有关信号列表,请参阅"kill -l"
测试
[root@VM-8-11-centos conf]# timeout 10 ping baidu.com
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=251 time=3.27 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=2 ttl=251 time=3.15 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=3 ttl=251 time=3.15 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=4 ttl=251 time=3.16 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=5 ttl=251 time=3.15 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=6 ttl=251 time=3.16 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=7 ttl=251 time=3.15 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=8 ttl=251 time=3.13 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=9 ttl=251 time=3.16 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=10 ttl=251 time=3.18 ms