甲骨文认证体系
Vmware认证体系
AWS亚马逊
阿里云认证体系
红帽认证体系
ZStack云计算认证体系
思科认证体系
华为认证体系
CDA数据分析师认证
达梦认证体系
麒麟
定制化课程
限制linux命令执行时间的两种好方法
发布日期:2020-06-22 15:57:51阅读次数:

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

腾科教您如何在命令中使用时间限制的两种方法。

使用`timeout`命令运行Linux命令

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

语法如下:

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

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

1. timeout 5s ping baidu.com 

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

1. timeout 5 ping baidu.com 

其他后缀包括:m代表分钟h代表时间d代表天

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

语法如下:

1. -k, --kill-after=DURATION 

您需要指定一个持续时间,让timeout知道杀死信号要发送多少时间之后。例如,指定命令将在8秒后终止。

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

使用`timelimit`程序运行Linux命令timelimit程序运行一个给定的命令,然后在指定的时间后使用一个给定的信号终止进程。它首先传递一个警告信号,然后在超时后发送杀死信号。与timeout选项不同,timelimit有更多的选项,如killsig、warnsig、killtime和warntime。

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

1. sudo apt install timelimit 

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

1. Pacman -S timelimit 

1. pacaur -S timelimit 

1. packer -S timelimit 

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

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

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

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

LINUX应用的应用越来越广泛,而相应人才的需求也会越来越旺盛,就业前景也非常广阔。腾科教育的提供Vmware虚拟机的课程。学习LINUX知识,为未来生活保障。