Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Linux运行有时间限制的命令—timeout命令

Linux运行有时间限制的命令—timeout命令

作者头像
胡齐
发布于 2020-02-25 01:28:42
发布于 2020-02-25 01:28:42
14K00
代码可运行
举报
文章被收录于专栏:运维猫运维猫
运行总次数:0
代码可运行

1、简介

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

2、timeout命令常用格式

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [root@RedHat_test ~]# timeout [OPTION] DURATION COMMAND [ARG]...
 s :  (默认)
 m : 分钟
 h : 小时
 d : 天
 长选项必须使用的参数对于短选项时也是必需使用的。
 -s : --signal=信号,指定在超时时发送的信号。信号可以是类似"HUP"的信号名或是信号数。,查看"kill -l"以获得信号列表
 --help        显示此帮助信息并退出
 --version        显示版本信息并退出
 # 如果不添加任何单位,默认是秒。如果DURATION0,则关联的超时是禁用的。
 # 如果程序超时则退出状态数为124,否则返回程序退出状态。
 # 如果没有指定信号则默认为TERM 信号。TERM 信号在进程没有捕获此信号时杀死进程。
 # 对于另一些进程可能需要使用KILL (9)信号,当然此信号不能被捕获。

3、10秒后结束,top命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [root@RedHat_test ~]# timeout 10 top

4、5分钟之后终止ping操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [root@RedHat_test ~]# timeout 5m ping www.baidu.com

5、1天之后终止ping操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [root@RedHat_test ~]# timeout 1d ping www.baidu.com

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [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

7、查看全部信号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [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

8、timeout命令运行一分钟,如果命令没有结束,将在10秒后终止命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [root@RedHat_test ~]# timeout -k 10s 1m sh test.sh

9、timeout在后台托管

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 [root@RedHat_test ~]# timeout --foreground 5m ./script.sh

如果文章有任何错误欢迎不吝赐教,其次大家有任何关于运维的疑难杂问,也欢迎和大家一起交流讨论。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux进程管理:进程,程序,线程 & 9个进程管理工具 & 作业控制
程序 ------》系统调用-------》缓存(内存) -------》cpu处理 执行任务
用户5807183
2019/09/23
3.6K0
linux进程管理:进程,程序,线程 & 9个进程管理工具 & 作业控制
【科研利器】进程管理
中断是系统用来影响硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来影响设备的请求
自学气象人
2022/11/14
9410
【科研利器】进程管理
kill命令
kill命令向指定的pid进程发送信号,如果不指定要发送的signal信号,则默认情况下signal是SIGTERM,它会终止进程,要列出所有可用信号,可以使用-l选项获取Linux信号列表,经常使用的信号包括HUP、INT、KILL、STOP、CONT和0,可以通过三种方式指定信号: 按数字例如-9,带有SIG前缀例如-SIGKILL,不带SIG前缀例如-KILL。负PID值用于指示过程组ID,如果传递了进程组ID,则该组中的所有进程都将接收到该信号,PID为-1是特殊的,其指示除两个以外的所有进程,kill进程本身和init即PID 1,其是系统上所有进程的父进程,将-1指定为目标会将信号发送到除这两个以外的所有进程。
WindRunnerMax
2021/02/25
1.4K0
一天一个 Linux 命令(36):kill 命令
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/187
joshua317
2021/11/10
4370
进程管理:kill 命令之 -9 与 -15
kill :发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。若仍无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户将影响用户的进程,非root用户只能影响自己的进程。
程序员架构进阶
2021/03/04
7K0
进程管理:kill 命令之 -9 与 -15
linux中kill命令详解_linux kill函数
发送指定的信号到相应进程。不指定信号将发送SIGTERM(15)终止指定进程。如果无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。root用户可操作所有用户的进程,非root用户只能操作自己的进程。
全栈程序员站长
2022/11/17
4.3K0
linux常用命令~系统常用命令
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。
Vincent-yuan
2021/12/20
1.4K0
linux常用命令~系统常用命令
linux | kill命令详解以及linux中的信号
在man手册中对kill命令的解释如下, 不难看出, kill命令是一个用于将指定的signal发送给进程的工具
Amadeus
2023/04/12
2.7K0
Linux之kill命令
原文链接:https://rumenz.com/rumenbiji/linux-kill.html
入门笔记
2021/07/27
4.4K0
ubuntu kill命令_killall命令
Linux中的kill命令用来终止指定的进程(terminate a process)的运行,是Linux下进程管理的常用命令。通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程。kill命令是通过向进程发送指定的信号来结束相应进程的。在默认情况下,采用编号为15的TERM信号。TERM信号将终止所有不能捕获该信号的进程。对于那些可以捕获该信号的进程就要用编号为9的kill信号,强行“杀掉”该进程。
全栈程序员站长
2022/11/16
1.9K0
Linux 精通Linux的“kill”命令
无论你使用哪种操作系统,你一定会遇到某个行为失常的应用,它把自己锁死并拒绝关闭。在Linux(还有Mac),你可以用一个”kill”命令强制终结它。本篇博文中,我们将展示给你多种方式使用”kill”命令终结应用。
小小工匠
2021/08/16
3.6K0
Linux 命令(76)—— kill 命令
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
恋喵大鲤鱼
2019/10/22
2.8K0
L007Linux信号、信号处理和信号处理函数
信号(signal)是一种软件中断,它提供了一种处理异步事件的方法,也是进程间惟一的异步通信方式。在Linux系统中,根据POSIX标准扩展以后的信号机制,不仅可以用来通知某种程序发生了什么事件,还可以给进程传递数据。
上善若水.夏
2018/09/28
4.2K0
[122]linux killall 、kill 、pkill 命令详解
Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。
周小董
2022/04/12
2.6K0
Linux系统的进程管理
进程process是指正在执行的程序;是程序正在运行的一个实例。它由程序指令,和从文件、其它程序中读取的数据或系统用户的输入组成。
江湖有缘
2023/07/27
3570
Linux系统的进程管理
每天学一个 Linux 命令(90):kill/killall
kill 命令用于删除执行中的程序或工作。kill 命令向进程发送信号。如果您未指定要发送的信号,则默认情况下会发送 TERM 信号,从而终止该过程。
民工哥
2021/04/21
4350
【linux命令讲解大全】157.深入探究Linux操作系统中的halt和kill命令的用途和功能
halt命令用来关闭正在运行的Linux操作系统。halt命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。
全栈若城
2024/03/02
1580
Linux命令(54)——trap命令(builtin)
trap命令是Shell内建命令,用于指定在接收到信号后将要采取的动作。常见的用途是在脚本程序被中断时完成清理工作。
恋喵大鲤鱼
2019/03/05
2K0
kill命令详解_linux杀死进程kill
绝大多数人对 kill 命令的理解就是结束一个进程,除了这个 kill 其实还有其它的功能。
全栈程序员站长
2022/11/18
5.8K0
Linux进程间通信(三) - 信号
什么是信号 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。在软件层次上是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是进程间通信机制中唯一的异步通信机制,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。信号机制除了基本通知功能外,还可以传递附加信息。 收到信号的进程对各种信号有不同的
三丰SanFeng
2018/01/16
2.6K0
相关推荐
linux进程管理:进程,程序,线程 & 9个进程管理工具 & 作业控制
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档