1. 前言

本文主要讲解如何限制Linux命令程序运行的时间。

Linux提供了大量的命令,每个命令都是唯一的,并且在特定的情况下使用。Linux的目标是帮助您尽可能地高效工作。Linux命令的一个属性是时间限制。您可以为任何您想要的命令设置时间限制。如果时间过期,命令停止执行。

在本教程中,您将学习如何在命令中使用时间限制的两种方法。

2. 使用timeout命令运行Linux命令

Linux有一个名为timeout的命令行实用程序,它允许您在有时间限制的情况下执行命令。

它的语法如下:

timeout [OPTION] DURATION COMMAND [ARG]...

要使用该命令,需要为要运行的命令指定超时值(以秒为单位)。例如,要让ping命令设置超时时间为5秒,可以运行以下命令。

timeout 5s ping baidu.com

你不需要为时间数值指定s,下面的命令是相同的,仍然可以工作。

timeout 5 ping baidu.com

其他后缀包括:

– m代表分钟

– h代表时间

– d代表天

有时,即使在timeout发送初始信号后,命令仍可能继续运行。在这种情况下,可以使用-- kill-after选项。

以下是语法:

-k, --kill-after=DURATION

您需要指定一个持续时间,让timeout知道杀死信号要发送多少时间之后。

例如,指定命令将在8秒后终止。

timeout 8s tail -f /var/log/syslog

3. 使用timelimit程序运行Linux命令

timelimit程序运行一个给定的命令,然后在指定的时间后使用一个给定的信号终止进程。它首先传递一个警告信号,然后在超时后发送杀死信号。

与timeout选项不同,timelimit有更多的选项,如killsig、warnsig、killtime和warntime。

可以在基于debian的系统的存储库中找到timelimit,要安装它,使用以下命令。

sudo apt install timelimit

对于基于arch的系统,您可以使用aur辅助程序来安装它,例如Pacaur Pacman和Packer。

Pacman -S timelimit

pacaur -S timelimit

packer -S timelimit

在其他Linux发行版中,您可以下载timelimit源代码并手动安装它。

安装后,运行以下命令并指定时间。在本例中,可以使用10秒。

timelimit -t10 tail -f /var/log/pacman.log

注意,如果不指定参数,timelimit使用默认值:warntime=3600秒,warnsig=15, killtime=120,和killsig=9。

4. 总结

在本指南中,您学习了如何在Linux中对运行命令设置时间限制。本文介绍了2个工具,timeout命令或timelimit实用程序。

timeout命令很容易使用,但是timelimit命令有点复杂,但是有更多的选项。您可以根据需要选择最合适的选项。

linux让脚本在指定时间运行程序,如何限制Linux命令程序运行的时间相关推荐

  1. linux shell脚本 删除指定目录下文件夹(可指定文件夹名、时间)

    情景:需要删除以201812开头的.6天前修改的文件夹(文件夹里包含文件).鼓捣了好一会,开始用find /home/users/niu/test/log/ -name '201812*' -type ...

  2. linux shell脚本关闭指定端口号的进程

    关闭指定进程中关键词的进程,最好找一个唯一标识 例如:项目名称 等等 文章目录 一.管道方式 1. 关闭指定程序进程号 2. 关闭指定端口号的进程(推荐使用) 3. 关闭指定进程关键词的进程(推荐使用 ...

  3. linux禁止软件连接指定网站,利用iptables来配置linux禁止所有端口登陆和开放指定端口...

    1.关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放. 下面是命令实现: iptables -P INPUT DROP iptables -P FORWARD DROP ipta ...

  4. linux打印机添加命令,Linux Shell脚本系列教程(二):终端打印命令详解

    终端打印 终端是交互式工具,用户可以通过它与shell环境进行交互.在终端中打印文本是大多数shell脚本和工具日常需要执行的基本任务.通过终端打印,人们可以知道系统的运行状态,这对用户来说是至关重要 ...

  5. linux 分卷压缩到指定目录,运用在android下Linux分卷压缩与分卷解压的命令

    protected static Vector execRootCmd(String paramString) { Vector localVector = new Vector();try { Pr ...

  6. linux中time命令详解、脚本监控记录系统硬盘io值、定位linux系统中await值过高占用的盘、定位占用硬盘IO高的程序、iotop命令说明、lsof使用说明【可定位端口所占用程序等】

    文章目录 文章说明 linux中的time命令 说明&常规用法 bash中使用time,将运行记录追加到文件中,-f后的参数说明 高阶用法 time 命令详细输出指标介绍 ime taken ...

  7. linux y脚本,Linux中脚本的使用方法

    Linux中脚本的使用方法 一.前言 关于Linux中的脚本的用法,一直没有时间去好好地总结,正好今天下雨,就好好的整理一下思路吧,其实精通了一门语言,比如C语言,学习其他语言需要的成本是非常少的,同 ...

  8. 使用Bash编写Linux Shell脚本-4.脚本初探

    4.  脚本初探 我第一次接触计算机还是在高中的学校内,学校购买了一台崭新的TRS-80,Model I,安装在图书馆内,免费提供所有的人使用,我记得我按照一本手册打印出了我的第一个BASIC程序. ...

  9. Linux shell脚本基础学习详细介绍(完整版)一

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Li ...

最新文章

  1. struts2 验证框架原理及实例
  2. centos7安装详细图解_5G基站工程安装详细图解(纯干货)
  3. 华为笔记本搭载鸿蒙系统,华为MatePad Pro2入网!预装鸿蒙系统 搭载麒麟9000
  4. (七)立体标定与立体校正 【计算机视觉学习笔记--双目视觉几何框架系列】
  5. ios 上传图片到阿里云的oss_JEECG BOOT 上传如何同时支持阿里OSS、Minio、本地存储
  6. 当身为老师的爸爸上课时......​
  7. if判断用户名 linux,Shell脚本IF条件判断和判断条件总结
  8. [转载] Python学习(五)Numpy通用函数汇总
  9. 最详细 Spring Boot 入门(-)
  10. Java中常用的url签名防篡改方法
  11. at()函数遍历图像
  12. mysql默认端口号_什么是MySQL默认端口号?
  13. 苹果笔记本摄像头Linux驱动,苹果发布Macbook摄像头驱动更新 更适配window10
  14. (源码)在LibVLC中增加录制接口libvlc_media_player_recorder_start
  15. [iOS]让你的应用支持新iPad的Retina显示屏
  16. 管理科学与工程 国内核心期刊 国外a刊及SCI
  17. 微信收到的文件怎样通过电脑打印
  18. canvas实现高阶贝塞尔曲线
  19. 计算机主机箱故障排除,计算机维护及常见故障的排除
  20. 【CN精品系统】《 Ghost_Win7 SP1 电脑公司通用版 v2.0 》 64位 装机版

热门文章

  1. React里require('object-assign')里的实现原理
  2. data model of Organization unit - Sales office
  3. 动态控制SAP C4C UI元素的显示和隐藏
  4. 仿 小米运动_小米有品上架“黑科技”床垫,让你睡在“空气”上,改变睡眠体验...
  5. java学到什么程度才有用处_如何自学Java?Java学到什么程度才可以找工作?
  6. vscode vue解决跨域_Vue + WebPack + Typescript初学者VSCode项目 (按需加载、跨域调试、await/async)...
  7. centos8 安装docker_CentOS 8 安装 docker
  8. python学习-综合练习四(最大公约数、最小公倍数、生成日历、递归调用、字符串)
  9. JAVA复习5(集合——HashSet)
  10. 3d vision可以卸载吗_金属粉末可以用于3D打印,但这些知识你了解吗?