系统管理 · 2022年02月20日 0

timeout命令 – 在指定的时间应在运行则杀死该进程

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 ```