您的位置 首页 > 德语词汇

timeout是什么意思?用法、例句,Linux中运行有时间限制的命令(timeout)

大家好,关于timeout是什么意思?用法、例句很多朋友都还不太明白,今天小编就来为大家分享关于Linux中运行有时间限制的命令(timeout)的知识,希望对各位有所帮助!

timeout是一个命令行实用程序,它运行指定的命令,如果在给定的时间段后仍在运行,则终止该命令。timeout命令是GNU核心实用程序软件包的一部分,该软件包几乎安装在所有Linux发行版中

timeout是什么意思?用法、例句,Linux中运行有时间限制的命令(timeout)

timeout[OPTION]DURATIONCOMMAND[ARG]...

DURATION可以是正整数或浮点数,后跟可选的后缀:

如果不添加任何单位,默认是秒。如果DURATION为0,则关联的超时是禁用的。

[root@localhost~]#timeout5pingwww.baidu.com\nPINGwww.a.shifen.com(61.135.169.125)56(84)bytesofdata.\n64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=1ttl=55time=16.3ms\n64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=2ttl=55time=16.0ms\n64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=3ttl=55time=16.7ms\n64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=4ttl=55time=16.0ms\n64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=5ttl=55time=17.6ms

5分钟之后终止ping操作:

[root@localhost~]#timeout5mpingwww.baidu.com

1天之后终止ping操作:

[root@localhost~]#timeout1dpingwww.baidu.com

2.5秒之后终止ping操作:

[root@localhost~]#timeout2.5spingwww.baidu.com\nPINGwww.a.shifen.com(61.135.169.121)56(84)bytesofdata.\n64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=1ttl=55time=14.9ms\n64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=2ttl=55time=15.6ms\n64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=3ttl=55time=15.6ms

发送指定的信号

如果未给出任何信号,则当达到时间限制时,timeout将SIGTERM信号发送到受管命令。可以使用-s(-signal)选项指定要发送的信号。

发送SIGKILL信号给ping命令,5秒钟后终止:

[root@localhost~]#sudotimeout-sSIGKILL5spingwww.baidu.com\nPINGwww.a.shifen.com(61.135.169.125)56(84)bytesofdata.\n64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=1ttl=55time=17.2ms\n64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=2ttl=55time=16.6ms\n64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=3ttl=55time=16.7ms\n64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=4ttl=55time=16.2ms\n64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=5ttl=55time=16.7ms\nKilled

信号可以指定他的名字也可以指定他序号。下面使用的事SIGKILL的序号,5秒钟后终止操作:

[root@localhost~]#sudotimeout-s95spingwww.baidu.com\nPINGwww.a.shifen.com(61.135.169.121)56(84)bytesofdata.\n64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=1ttl=55time=15.5ms\n64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=2ttl=55time=16.3ms\n64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=3ttl=55time=14.9ms\n64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=4ttl=55time=16.0ms\n64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=5ttl=55time=22.0ms\nKilled

想要知道全部可用的信号,请使用kill-l该命令查看全部的信号。

[root@localhost~]#kill-l\n1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL5)SIGTRAP\n6)SIGABRT7)SIGBUS8)SIGFPE9)SIGKILL10)SIGUSR1\n11)SIGSEGV12)SIGUSR213)SIGPIPE14)SIGALRM15)SIGTERM\n16)SIGSTKFLT17)SIGCHLD18)SIGCONT19)SIGSTOP20)SIGTSTP\n21)SIGTTIN22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ\n26)SIGVTALRM27)SIGPROF28)SIGWINCH29)SIGIO30)SIGPWR\n31)SIGSYS34)SIGRTMIN35)SIGRTMIN+136)SIGRTMIN+237)SIGRTMIN+3\n38)SIGRTMIN+439)SIGRTMIN+540)SIGRTMIN+641)SIGRTMIN+742)SIGRTMIN+8\n43)SIGRTMIN+944)SIGRTMIN+1045)SIGRTMIN+1146)SIGRTMIN+1247)SIGRTMIN+13\n48)SIGRTMIN+1449)SIGRTMIN+1550)SIGRTMAX-1451)SIGRTMAX-1352)SIGRTMAX-12\n53)SIGRTMAX-1154)SIGRTMAX-1055)SIGRTMAX-956)SIGRTMAX-857)SIGRTMAX-7\n58)SIGRTMAX-659)SIGRTMAX-560)SIGRTMAX-461)SIGRTMAX-362)SIGRTMAX-2\n63)SIGRTMAX-164)SIGRTMAX\n[root@localhost~]#

停掉卡主的进程

SIGTERM,当超过时间限制时发送的默认信号可以被某些进程捕获或忽略。在这种情况下,进程在发送终止信号后继续运行。

要确保被执行的的命令终止,请使用-k(--killafter)选项,后面加一个时间。当达到给定的时间限制后会强制结束。

在下面的示例中,timeout命令运行一分钟,如果命令没有结束,将在10秒后终止命令:

[root@localhost~]#timeout-k10s1mshtest.sh

运行在前台

默认情况下,timeout在后台运行托管命令。如果要在前台运行该命令,请使用--foreground选项:

[root@localhost~]#timeout--foreground5m./script.sh

总结

timeout命令用于运行具有时间限制的命令。通常情况下只需要给定时间限制和命令就足够了。

关于timeout是什么意思?用法、例句和Linux中运行有时间限制的命令(timeout)的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023