Linux附带了许多命令 ,每个命令都是唯一的,并在特定情况下使用。 Linux的目标是帮助您尽快高效地工作。 Linux命令的一个属性是时间限制。 您可以为所需的任何命令设置时间限制。 如果时间到了,该命令将停止执行。
在这个简短的教程中,您将学习两种有关如何在命令中使用时间限制的方法。
使用超时工具运行Linux命令
Linux有一个称为timeout的命令行实用程序,它使您可以在有时间限制的情况下执行命令。
其语法如下。timeout [OPTION] DURATION COMMAND [ARG]...
要使用该命令,请使用要运行的命令指定超时值(以秒为单位)。 例如,要在5秒钟后使ping命令超时,您可以运行以下命令。# timeout 5s ping google.com
您不必在数字5之后指定(s) 。 下面的命令是相同的,并且仍然可以使用。# timeout 5 ping google.com
Linux中的超时Ping命令
其他Postfix包括:m代表分钟
h代表小时
d代表天
有时,即使超时发送了初始信号,命令也可能继续运行。 在这种情况下,您可以使用--kill-after选项。
这是语法。-k, --kill-after=DURATION
您需要指定一个持续时间,以便在发送终止信号多少时间后知道超时 。
例如,所示命令将在8秒后终止。# timeout 8s tail -f /var/log/syslog
将时间限制设置为Linux命令
使用Timelimit程序运行Linux命令
Timelimit程序运行给定命令,然后在指定时间后使用给定信号终止过程。 它首先传递警告信号,然后在超时后发送终止信号。
与timeout选项不同, Timelimit具有更多选项,例如killsig , warnsig , killtime和warntime 。
可以在基于Debian的系统的存储库中找到时间限制,并使用以下命令进行安装。$ 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 。
结论
在本指南中,您学习了如何在Linux中运行带有时间限制的命令。 在回顾中,您可以使用“ 超时”命令或“ 时限”实用程序。
Timeout命令易于使用,但是Timelimit实用程序有点复杂,但是具有更多选项。 您可以根据需要选择最合适的选项。