Linux附带了许多命令,每个命令都是唯一的,并在特定情况下使用。Linux的目标是帮助你尽快高效地工作。Linux命令的一个属性是时间限制。你可以为所需的任何命令设置时间限制。如果时间到了,该命令将停止执行。
timeout 是指运行指定的命令,如果在指定时间后仍在运行,则杀死该进程。用来控制程序运行的时间。
语法
Usage: timeout [OPTION] NUMBER[SUFFIX] COMMAND [ARG]...
SUFFIX 默认值是”s”代表秒,”m”代表分,”h”代表小时,”d”代表天。
参数说明
长选项必须使用的参数对于短选项时也是必需使用的。
-s, --signal=信号
指定在超时时发送的信号。信号可以是类似"HUP"的信号名或是信号数。
查看"kill -l"以获得信号列表
–help 显示此帮助信息并退出
–version 显示版本信息并退出
- 如果程序超时则退出状态数为124,否则返回程序退出状态。
- 如果没有指定信号则默认为TERM 信号。TERM 信号在进程没有捕获此信号时杀死进程。
- 对于另一些进程可能需要使用KILL (9)信号,当然此信号不能被捕获。
返回结果
返回最后运行的命令的结束代码。
如果timeout后的命令在规定时间内完成,返回0;否则返回非0。
timeout 2 echo 1
echo $?
0
timeout 2 sleep 100
echo $?
124