关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

怎么在Linux中定时运行命令

发布时间:2021-04-06 19:34:07

Linux中如何定期运行命令?我相信很多没有经验的人对此无能为力。因此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。

方法 1 - 使用 timeout 命令

最常见的方法是使用超时命令。对于不知道的人来说,超时命令可以有效地限制一个进程的绝对执行时间。超时命令是GNU coreutils包的一部分,所以在所有GNU/Linux系统中都是预装的。

假设你只想运行一个命令5秒钟,然后杀死它。为此,我们使用:

$ time out-time-limit-interval命令

例如,以下命令将在10秒后终止。

$ time out 10s tail-f/var/log/pacman . log

怎么在Linux中定时运行命令

不用在第二个后面加后缀s。以下命令同上。

$ time out 10 tail-f/var/log/pacman . log

其他可用的后缀有:

m代表分钟。

h代表小时。

d代表天。

如果您运行这个tail -f /var/log/pacman.log命令,它将继续运行,直到您按CTRL C手动结束它。但是,如果您使用超时命令来运行它,它将在给定的时间间隔后自动终止。如果命令在超时后仍在运行,您可以发送如下所示的终止信号。

$ time out-k 20 10 tail-f/var/log/pacman . log

这种情况下,如果10秒后tail命令仍然运行,则超时命令会在20秒后发送kill信号并结束。

有关更多详细信息,请参见手册页。

$ man超时

有时,一个特定的程序可能需要很长时间才能完成,并最终冻结您的系统。在这种情况下,您可以使用这种技术在一定时间后自动结束该过程。

方法 2 - 使用 timelimit 程序

Timelimit使用提供的参数执行给定的命令,并在给定的时间后使用给定的信号终止该过程。首先,它发送一个警告信号,然后在超时后发送一个终止信号。

与超时不同,时限有更多的选项。您可以传递许多参数,如killsig、warnsig、killtime、warntime等。它存在于基于Debian系统的默认仓库中。因此,您可以使用命令来安装它:

$ sudo apt-get安装时间限制

对于基于拱门的系统,它存在于AUR。因此,你可以使用任何AUR助手来安装,如pacoor,Packer,Yay,Yaourt等。

对于其他发行版,请在此下载源代码并手动安装。安装时限后,在特定时间(如10秒)内运行以下命令:

$ time limit-T10 tail-f/var/log/pacman . log

没有任何参数的运行时间限制将使用默认值:warntime=3600秒,warnsig=15秒,killtime=120秒,killsig=9秒。有关更多详细信息,请参考本指南末尾给出的手册页和项目网站。

$人工时间限制

看完以上,你知道在Linux中如何定期运行命令吗?如果你想学习更多的技能或了解更多,请关注微子网络。谢谢你的阅读!


/template/Home/Zkeys/PC/Static