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