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

1. 前言

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

e2ec72da232ec2714d029527e962811a.png

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

fc5da8d1f852316fdbb2ebad85557b6d.png

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

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

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

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

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

38388e2d57ac1bdd844e650cbd4b19b5.png

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

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

sudo apt install timelimit

d6560762cbd6792c264dfdfd88fbe798.png

对于基于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命令有点复杂,但是有更多的选项。您可以根据需要选择最合适的选项。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值