首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在 Linux 中的特定时间运行命令

我只是想知道在类 Unix 操作系统中是否有简单的方法可以在特定的时间运行一个命令,并且一旦超时就自动杀死它

-- Sk

致谢

编译自 |

https://www.ostechnix.com/run-command-specific-time-linux/

作者 | Sk

译者 | geekpi 共计翻译:747篇 贡献时间:1708 天

有一天,我使用 将大文件传输到局域网上的另一个系统。由于它是非常大的文件,大约需要 20 分钟才能完成。我不想再等了,我也不想按 来终止这个过程。我只是想知道在类 Unix 操作系统中是否有简单的方法可以在特定的时间运行一个命令,并且一旦超时就自动杀死它 —— 因此有了这篇文章。请继续阅读。

在 Linux 中在特定时间运行命令

我们可以用两种方法做到这一点。

方法 1 - 使用 timeout 命令

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

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

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

你也可以不用在秒数后加后缀 。以下命令与上面的相同。

其他可用的后缀有:

◈ 代表分钟。

◈ 代表小时。

◈ 代表天。

如果你运行这个 命令,它将继续运行,直到你按 手动结束它。但是,如果你使用 命令运行它,它将在给定的时间间隔后自动终止。如果该命令在超时后仍在运行,则可以发送 信号,如下所示。

在这种情况下,如果 命令在 10 秒后仍然运行, 命令将在 20 秒后发送一个 kill 信号并结束。

有关更多详细信息,请查看手册页。

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

另外,可以考虑使用 ,一个简单的限制进程的 CPU 使用率的程序。有关更多详细信息,请查看下面的链接。

◈如何在 Linux 中限制一个进程的使用的 CPU

[1]

方法 2 - 使用 timelimit 程序

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

与 不同, 有更多选项。你可以传递参数数量,如 、、、 等。它存在于基于 Debian 的系统的默认仓库中。所以,你可以使用命令来安装它:

对于基于 Arch 的系统,它在 AUR 中存在。因此,你可以使用任何 AUR 助手进行安装,例如Pacaur

[2]

、Packer

[3]

、Yay

[4]

、Yaourt

[5]

等。

对于其他发行版,请在这里

[6]

下载源码并手动安装。安装 后,运行下面的命令执行一段特定的时间,例如 10 秒钟:

如果不带任何参数运行 ,它将使用默认值: 秒、秒、 秒、。有关更多详细信息,请参阅本指南最后给出的手册页和项目网站。

今天就是这些。我希望对你有用。还有更好的东西。敬请关注!

干杯!

资源

◈timelimit 网站

[7]

via:https://www.ostechnix.com/run-command-specific-time-linux/

作者:SK

[9]

译者:geekpi校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180701B0CQ1000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券