📜  在 Linux 中运行有时间限制的命令

📅  最后修改于: 2022-05-13 01:57:27.464000             🧑  作者: Mango

在 Linux 中运行有时间限制的命令

在 Linux 中,有些命令需要很长时间才能运行,我们会等待完整的命令,但对于某些命令,我们会在一段时间后使用 kill 命令终止该命令。如果我们在一段时间后自动终止长时间运行的命令会怎样。是的,我们可以在 Linux 中做到。有两种方法可以限制命令的时间,一种是 timeout命令和另一个正在使用timelimit程序。

超时命令

Linux 有一个超时命令行实用程序,通过使用该实用程序,如果在时间限制内未完成,我们可以终止该命令。 现在让我们看看 timeout 命令的语法

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

这里在持续时间的地方提到时间秒或分钟或小时,使用数字后跟:

  • m 分钟
  • h 小时

如果您没有在数字后提及上面的任何字符,则超时将被视为一秒。之后,提到我们必须限制时间的命令。

现在让我们举一个例子,我们将用 5s ping 命令:



timout 5s ping google.com

然后您可以看到该命令在 5 秒后终止。

如果我们不提及 5 之后的 s,则该命令将像以前一样运行。

我们还可以使用单个选项 -s 或 –signal 将单个设置为在终止进程后发送。这是例子

timeout --signal=SIGQUIT 8 tail -f /var/log/pacman.log

有些命令可能会在发送初始信号后继续执行,我们可以使用 -k 或 –kill 选项随着时间的推移处理此类命令。以下是语法

-k --kill-after=DURATION 

要了解有关 timeout 命令的更多信息,请使用 man 命令:

man timeout



时限计划

timelimit 是一个实用程序,它在给定的时间限制内执行给定的命令。如果提到的命令在提到的时间之前终止,则 timelimit 静默退出。在杀死命令之前,timelimit 向命令发送警告,然后发送终止信号。timelimit 提供了比 timeout 命令更多的选项,非常有用。

限时安装:

对于像 Ubuntu 这样的基于 Debian 的系统,使用以下命令:

sudo apt install timelimit

对于 arch Linux 或基于 arch 的操作系统,请使用 AUR 进行安装。使用以下命令:

使用时限

使用 timelimit 的基本语法如下:

timelimit 选项的默认值如下:

  • 警告时间(-t):3600
  • 警告(-s):15
  • 杀戮时间(-T):120
  • 杀戮信号(-S):9

下面是 timelimit 命令的一个示例:

要了解有关 timelimit 命令的更多信息,请使用 man 命令阅读 timelimit 的手册页:

man timelimit