Linux-timeout命令使用实例 (linux-firmware)

教程大全 2025-07-14 00:39:09 浏览

timeout是用来控制程序运行的时间,运行指定的命令。如果在指定时间后仍在运行,则杀死该进程。使用timeout命令可以让程序在指定的时间内仍然运行则强制退出。

语法格式:

timeout[OPTION]DURATIONCOMMAND[ARG]...

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

s – 秒 (默认)
m – 分钟
h – 小时
d – 天

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

5秒后终止ping操作:

[root@localhost~]PINGwww.a.shifen.com(61.135.169.125)56(84)bytesofdata.64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=1ttl=55time=16.3ms64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=2ttl=55time=16.0ms64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=3ttl=55time=16.7ms64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=4ttl=55time=16.0ms64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=5ttl=55time=17.6ms

5分钟之后终止ping操作:

[root@localhost~]

1天之后终止ping操作:

[root@localhost~]

2.5秒之后终止ping操作:

[root@localhost~]PINGwww.a.shifen.com(61.135.169.121)56(84)bytesofdata.64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=1ttl=55time=14.9ms64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=2ttl=55time=15.6ms64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=3ttl=55time=15.6ms

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

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

[root@localhost~]PINGwww.a.shifen.com(61.135.169.125)56(84)bytesofdata.64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=1ttl=55time=17.2ms64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=2ttl=55time=16.6ms64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=3ttl=55time=16.7ms64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=4ttl=55time=16.2ms64bytesfrom61.135.169.125(61.135.169.125):icmp_seq=5ttl=55time=16.7msKilled

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

[root@localhost~]PINGwww.a.shifen.com(61.135.169.121)56(84)bytesofdata.64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=1ttl=55time=15.5ms64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=2ttl=55time=16.3ms64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=3ttl=55time=14.9ms64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=4ttl=55time=16.0ms64bytesfrom61.135.169.121(61.135.169.121):icmp_seq=5ttl=55time=22.0msKilled

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

[root@localhost~]1)SIGHUP2)SIGINT3)SIGQUIT4)SIGILL5)SIGTRAP6)SIGABRT7)SIGBUS8)SIGFPE9)SIGKILL10)SIGUSR111)SIGSEGV12)SIGUSR213)SIGPIPE14)SIGALRM15)SIGTERM16)SIGSTKFLT17)SIGCHLD18)SIGCONT19)SIGSTOP20)SIGTSTP21)SIGTTIN22)SIGTTOU23)SIGURG24)SIGXCPU25)SIGXFSZ26)SIGVTALRM27)SIGPROF28)SIGWINCH29)SIGIO30)SIGPWR31)SIGSYS34)SIGRTMIN35)SIGRTMIN+136)SIGRTMIN+237)SIGRTMIN+338)SIGRTMIN+439)SIGRTMIN+540)SIGRTMIN+641)SIGRTMIN+742)SIGRTMIN+843)SIGRTMIN+944)SIGRTMIN+1045)SIGRTMIN+1146)SIGRTMIN+1247)SIGRTMIN+1348)SIGRTMIN+1449)SIGRTMIN+1550)SIGRTMAX-1451)SIGRTMAX-1352)SIGRTMAX-1253)SIGRTMAX-1154)SIGRTMAX-1055)SIGRTMAX-956)SIGRTMAX-857)SIGRTMAX-758)SIGRTMAX-659)SIGRTMAX-560)SIGRTMAX-461)SIGRTMAX-362)SIGRTMAX-263)SIGRTMAX-164)SIGRTMAX[root@localhost~]

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

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

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

[root@localhost~]

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

[root@localhost~]

安装linux后的启动菜单?~~

启动进Linux系统vi /boot/编辑如下内容:timeout 180 这个是选项的超时,在这个时间段里可以自由选择,过了时间启动默认的OS,180秒default 0默认启动的OS,0代表第1个title,之后的类推#每个机器不一样,这里显示是不同的,不用改title windows这是第1个OS rootnoverify (hd0,0) chainloader +1title linux 这是第2个OSroot (hd2,0) kernel /5PAE ro root=LABEL=/ rhgb quietinitrd /

如何配置grub?

修改/boot/grub/文件。 其中“default=n”(n是个数字)是grub引导菜单默认被选中的项,n从0开始,0表示第一项,1表示第二项,依此类推。 “timeout=x”(x是一个数)是超时时间,单位是妙。 也就是引导菜单显示后,如果x秒内用户不进行选择,那么grub将启动默认项。 “splashimage =”,这是引导菜单的背景图,先不理他。 其它常用项我用下面的例子来说明:title Red Hat 8.0root (hd1,6)kernel /boot/vmlinuz-2.4.18-14 ro root=/dev/hdb7initrd /boot/其中Red Hat 8.0是在启动菜单列表里显示的名字root (hdx,y)用来指定你的boot分区位置,如果你没有分boot分区(本例就没分boot分区),那就指向根分区就行了,hdx是linux所在硬盘,hd0是第一块硬盘,hd1是第二块,依此类推。 y是分区位置,从0开始,也就是等于分区号减一,比如你要指向的分区是hdx7,那么y就是6,如果是hdx1,那y就是0。 注意root后面要有一个空格。 kernel /boot/vmlinuz-2.4.18-14,其中/boot/vmlinuz-2.4.18-14是你要用的内核路径,如果你编译了心内核,把它改成你的新内核的路径就行了。 ro就不用管,写上不会有错。 root=/dev/hdxx指定根分区,本例是hdb7,所以root=/dev/hdb7上面是linux的,下面是windows的title windows 98rootnoverify (hd0,0)chainloader +1title 不用解释了,上面有解释。 rootnoverify (hdx,y)用来指定windows所在分区,x,y跟上面一样,注意rootnoverify后有空格。 chainloader +1照抄就行,注意空格。

select和epoll的区别

下面是select的函数接口: int select (int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); select 函数监视的文件描述符分3类,分别是writefds、readfds、和exceptfds。调用后select函数会阻塞,直到有

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐