timeout命令作用是运行指定命令,如果在指定时间后在运行则杀死该进程。
timeout命令是GNU核心实用程序软件包的一部分,该软件包几乎安装在所有Linux发行版中。后缀s代表秒(默认值),m代表分,h代表小时,d代表天。如果不添加任何单位,默认是秒。如果持续时间为0,则禁用关联的超时。
默认情况下,timeout在后台运行托管命令。
**语法格式:** timeout [参数]
**常用参数:**
| -s<信号> | 指定在超时时发送的信号,信号可以是类似“HUP”的信号名或是信号数 |
| ---------------- | ----------------------------------------------------------------- |
| -k<时间> | 达到给定的时间限制后会强制结束 |
| -- -foreground | 在前台运行 |
**参考实例**
发送SIGKILL信号给ping命令,5秒钟后终止:
```
[root@anycode ~]# timeout -s SIGKILL 5s ping www.linuxprobe.com
```
运行命令一分钟,如果命令没有结束,将在10秒后终止命令:
```
[root@anycode ~]# timeout -k 10s 1m sh linuxcool.sh
```
在前台运行命令:
```
[root@anycode ~]# timeout --foreground 5m ./linuxcool.sh
```