Linux 附带了大量命令,每个命令都是唯一的并在特定情况下使用。Linux 的目标是帮助您尽可能快速、高效。Linux 命令的一项属性是时间限制。您可以为任何您想要的命令设置时间限制。如果时间到期,命令将停止执行。
在这个简短的教程中,您将学习两种如何在命令中使用时间限制的方法。
在本页面:
- 使用超时工具运行 Linux 命令
- 使用 Timelimit 程序运行 Linux 命令
使用超时工具运行 Linux 命令
Linux 有一个名为timeout 的命令行实用程序,它使您能够执行有时间限制的命令。
其语法如下。
超时 [选项] 持续时间命令 [ARG]...
要使用该命令,请为要运行的命令指定超时值(以秒为单位)。例如,要在5秒后使ping 命令超时,您可以运行以下命令。
# ping google.com 超时 5 秒
您不必指定数字5后面的(s)。下面的命令是相同的并且仍然有效。
# ping google.com 超时 5
![](https://www.alaica.com/wp-content/uploads/linux-660.png)
其他后缀包括:
m
代表分钟h
代表小时数d
代表天数
有时,即使超时发送初始信号后,命令也可能继续运行。在这种情况下,您可以使用该--kill-after
选项。
这是语法。
-k, --kill-after=持续时间
您需要指定一个持续时间,以便超时知道在多长时间后要发送终止信号。
例如,显示的命令将在8秒后终止。
# 超时8秒 tail -f /var/log/syslog
![](https://www.alaica.com/wp-content/uploads/linux-661.png)
使用 Timelimit 程序运行 Linux 命令
Timelimit程序运行给定的命令,然后在指定时间后使用给定的信号终止进程。它首先传递警告信号,然后在超时后发送终止信号。
与超时选项不同,Timelimit有更多选项,例如Killsig、warnsig、Killtime和warntime。
Timelimit可以在基于Debian的系统的存储库中找到,要安装它,请使用以下命令。
$ sudo apt install 时间限制
对于基于 Arch 的系统,您可以使用AUR帮助程序安装它,例如Pacaur Pacman和Packer。
# Pacman -S 时间限制 # pacaur -S 时间限制 # packer -S 时间限制
其他Linux发行版,您可以下载timelimit源并手动安装。
安装后,运行以下命令并指定时间。在此示例中,您可以使用10秒。
$ timelimit -t10 tail -f /var/log/pacman.log
请注意,如果您不指定参数,Timelimit将使用默认值:warntime=3600秒、warnsig=15、Killtime=120和Killsig=9。
结论
在本指南中,您学习了如何在 Linux 中运行有时间限制的命令。在审核中,您可以使用“超时”命令或“时间限制”实用程序。
Timeout命令很容易使用,但Timelimit实用程序有点复杂,但有更多选项。您可以根据您的需要选择最合适的选项。