linux命令超时停止,在Linux中,如何运行有时间限制的命令(Timeout)

在本教程中,你将学习两种如何在命令中使用时间限制的方法。

使用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程序有点复杂,但有更多的选项,可以根据的需要选择最合适你的命令。

你可能感兴趣的:(linux命令超时停止)