timeout是用来控制程序运行的时间,运行指定的命令。如果在指定时间后仍在运行,则杀死该进程。使用timeout命令可以让程序在指定的时间内仍然运行则强制退出。
[root@RedHat_test ~]# timeout [OPTION] DURATION COMMAND [ARG]...
s : 秒 (默认)
m : 分钟
h : 小时
d : 天
长选项必须使用的参数对于短选项时也是必需使用的。
-s : --signal=信号,指定在超时时发送的信号。信号可以是类似"HUP"的信号名或是信号数。,查看"kill -l"以获得信号列表
--help 显示此帮助信息并退出
--version 显示版本信息并退出
# 如果不添加任何单位,默认是秒。如果DURATION为0,则关联的超时是禁用的。
# 如果程序超时则退出状态数为124,否则返回程序退出状态。
# 如果没有指定信号则默认为TERM 信号。TERM 信号在进程没有捕获此信号时杀死进程。
# 对于另一些进程可能需要使用KILL (9)信号,当然此信号不能被捕获。
[root@RedHat_test ~]# timeout 10 top
[root@RedHat_test ~]# timeout 5m ping www.baidu.com
[root@RedHat_test ~]# timeout 1d ping www.baidu.com
[root@RedHat_test ~]# timeout -s SIGKILL 5s ping www.baidu.com
PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64bytes from 180.101.49.12 (180.101.49.12): icmp_seq=1ttl=49time=4.03 ms
64bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2ttl=49time=4.60 ms
64bytes from 180.101.49.12 (180.101.49.12): icmp_seq=3ttl=49time=4.30 ms
64bytes from 180.101.49.12 (180.101.49.12): icmp_seq=4ttl=49time=4.40 ms
[root@RedHat_test ~]# kill -l
1) SIGHUP2) SIGINT3) SIGQUIT4) SIGILL5) SIGTRAP
6) SIGABRT7) SIGBUS8) SIGFPE9) SIGKILL10) SIGUSR1
11) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM
16) SIGSTKFLT17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP
21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU25) SIGXFSZ
26) SIGVTALRM27) SIGPROF28) SIGWINCH29) SIGIO30) SIGPWR
31) SIGSYS34) SIGRTMIN35) SIGRTMIN+136) SIGRTMIN+237) SIGRTMIN+3
38) SIGRTMIN+439) SIGRTMIN+540) SIGRTMIN+641) SIGRTMIN+742) SIGRTMIN+8
43) SIGRTMIN+944) SIGRTMIN+1045) SIGRTMIN+1146) SIGRTMIN+1247) SIGRTMIN+13
48) SIGRTMIN+1449) SIGRTMIN+1550) SIGRTMAX-1451) SIGRTMAX-1352) SIGRTMAX-12
53) SIGRTMAX-1154) SIGRTMAX-1055) SIGRTMAX-956) SIGRTMAX-857) SIGRTMAX-7
58) SIGRTMAX-659) SIGRTMAX-560) SIGRTMAX-461) SIGRTMAX-362) SIGRTMAX-2
63) SIGRTMAX-164) SIGRTMAX
[root@RedHat_test ~]# timeout -k 10s 1m sh test.sh
[root@RedHat_test ~]# timeout --foreground 5m ./script.sh
如果文章有任何错误欢迎不吝赐教,其次大家有任何关于运维的疑难杂问,也欢迎和大家一起交流讨论。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有