在本教程中,你将学习两种如何在命令中使用时间限制的方法。
使用timeout工具运行Linux命令
Linux有一个timeout的命令行程序,它使你能够执行有时间限制的命令。
它语法如下。timeout [OPTION] DURATION COMMAND [ARG]...
要使用该命令,请使用要运行的命令指定超时值(以秒为单位),例如要在5秒后超时ping命令,可以运行以下命令。# timeout 5s ping google.com
下面的命令相同,仍然有效。# timeout 5 ping google.com
其他后缀包括:m表示分钟
h表示小时
d表示天数
有时,即使发送超时信号之后,命令仍然会继续运行,在这种情况下,你可以使用--kill-after选项。
这是语法。-k, --kill-after=DURATION
你需要指定一个持续时间来让timeout知道在超时后发送kill信号。
例如,显示的命令将在8秒后终止。# timeout 8s tail -f /var/log/syslog
使用Timelimit程序运行Linux命令
和timeout不同,Timelimit有更多选项,如killsig,warnsig,killtime和warntime。
可以在基于Debian的系统的存储库中找到Timelimit,并使用以下命令进行安装。$ sudo apt install timelimit
对于基于arch的系统,你可以使用AUR helper程序,比如,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程序有点复杂,但有更多的选项,可以根据的需要选择最合适你的命令。
2174

被折叠的 条评论
为什么被折叠?



