如何在Linux中的特定时间运行命令
作者:sk 发布时间:2022-09-26 11:31:15
有一天,我使用 rsync 将大文件传输到局域网上的另一个系统。由于它是非常大的文件,大约需要 20 分钟才能完成。我不想再等了,我也不想按 CTRL+C 来终止这个过程。我只是想知道在 Linux 操作系统中是否有简单的方法可以在特定的时间运行一个命令,并且一旦超时就自动杀死它 —— 因此有了这篇文章。请继续阅读。
在 Linux 中在特定时间运行命令
我们可以用两种方法做到这一点。
方法 1 - 使用 timeout 命令
最常用的方法是使用 timeout 命令。对于那些不知道的人来说,timeout 命令会有效地限制一个进程的绝对执行时间。timeout 命令是 GNU coreutils 包的一部分,因此它预装在所有 GNU/Linux 系统中。
假设你只想运行一个命令 5 秒钟,然后杀死它。为此,我们使用:
$ timeout <time-limit-interval> <command>
例如,以下命令将在 10 秒后终止。
$ timeout 10s tail -f /var/log/pacman.log
你也可以不用在秒数后加后缀 s。以下命令与上面的相同。
$ timeout 10 tail -f /var/log/pacman.log
其他可用的后缀有:
m 代表分钟。
h 代表小时。
d 代表天。
如果你运行这个 tail -f /var/log/pacman.log 命令,它将继续运行,直到你按 CTRL+C 手动结束它。但是,如果你使用 timeout 命令运行它,它将在给定的时间间隔后自动终止。如果该命令在超时后仍在运行,则可以发送 kill 信号,如下所示。
$ timeout -k 20 10 tail -f /var/log/pacman.log
在这种情况下,如果 tail 命令在 10 秒后仍然运行,timeout 命令将在 20 秒后发送一个 kill 信号并结束。
有关更多详细信息,请查看手册页。
$ man timeout
有时,某个特定程序可能需要很长时间才能完成并最终冻结你的系统。在这种情况下,你可以使用此技巧在特定时间后自动结束该进程。
方法 2 - 使用 timelimit 程序
timelimit 使用提供的参数执行给定的命令,并在给定的时间后使用给定的信号终止进程。首先,它会发送警告信号,然后在超时后发送 kill 信号。
与 timeout 不同,timelimit 有更多选项。你可以传递参数数量,如 killsig、warnsig、killtime、warntime 等。它存在于基于 Debian 的系统的默认仓库中。所以,你可以使用命令来安装它:
$ sudo apt-get install timelimit
对于基于 Arch 的系统,它在 AUR 中存在。因此,你可以使用任何 AUR 助手进行安装,例如 Pacaur 、 Packer 、 Yay 、 Yaourt 等。
对于其他发行版,请 在这里 下载源码并手动安装。安装 timelimit 后,运行下面的命令执行一段特定的时间,例如 10 秒钟:
$ timelimit -t10 tail -f /var/log/pacman.log
如果不带任何参数运行 timelimit,它将使用默认值:warntime=3600 秒、warnsig=15 秒、killtime=120 秒、killsig=9。有关更多详细信息,请参阅本指南最后给出的手册页和项目网站。
$ man timelimit
来源:https://www.ostechnix.com/run-command-specific-time-linux/


猜你喜欢
- 中秋节就快到了,提前祝各位站长节日快乐,站站顺利!如何利用中秋节推广网站,下面几条可能有点帮助,希望能为大家抛砖引玉。。带来流量上的提升。一
- Windows系统内置的Internet 信息服务(IIS)对ASP具有良好的支持,因此在IIS中调试ASP网页是非常方便的。但有些朋友的网
- 6、能够使用一个磁盘的第一个分区作为裸设备吗?可以,但是不推荐。在Unix的比较旧的版本是银行,磁盘的第一个分区常常包含这个磁盘的一些信息,
- 很多站长可能在泡论坛的时候会经常见到Alexa这个单词,但是对于很多新手站长来说这个东西会比较的陌生。或者你是知道这个的作用,但是在查询自己
- 全球最大的域名交易平台Sedo,今天透露chinese.com的成交价为110万美元。位居该平台2007年最贵的几个域名之一。chinese
- Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 的 NoSQL 数据库,并
- Godaddy主机Linux系统主机帐户的绝对路径是:/home/content/1/2/3/username/html/在路径里, &qu
- Godaddy主机用户从eNom转入域名 eNom注册可接收源自个注册处的转移。使用我们的RapidTransferSystem,域名转移常
- 不论是个博客还是网站,我们比较喜欢WordPress程序作为网站内核。我们选择WP肯定有其优于其他CMS的原因,但是我们能否在细节处理好自己
- 目录一、准备阶段1、准备环境2、安装方式3、网卡配置二、安装阶段1、安装httpd2、安装tftp-server3、复制pxe文件4、安装d
- 问题Ubuntu 虚拟机开机时提示报错,具体信息如下:VMware Tools 启动脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定
- 正如我们之前所说的,我们一直在努力改进广告管理功能。现在,我们又推出了一些新的功能。隐藏功能我们收到很多发布商的反馈希望能够在管理广告页面添
- 今天我们将介绍超链分析的颠峰之作:HillTop算法,作为现在Google现在最核心的排名算法之一,网上不乏大量介绍她的文献。本文侧重于原始
- 如何修改你域名的DNS服务器呢?下面我们就来讨论一下,假设你的域名是在Godaddy上注册的,你可以修改、添加、删除这个域名的DNS服务器,
- 你的计算机上是否存在有至关重要的数据,并且不希望它们落入恶人之手呢?当然,它们完全有这种可能 。而且,近些年来,服务器遭受的风险也比以前更大
- 上次写了一篇关于PayPerPost的推介文章,但是那个方法虽然可以赚钱,但是不是很多,今天我就介绍下其主业务:用博客写英文评论赚钱。适合人
- 在这个平台上,商家除注册后拥有自己的百变商铺外,还可以发布供求、供应信息,主动联系买家抢占商机;甚至是在搜索页上进行关键词排名及&l
- 无论你是一个Web开发人员,网页设计师或博客,你可能不得不为许多不同大小和不同格式的图像处理转换的事而感到头痛。如果你把所有图片放在手头上,
- 远程桌面服务所使用的通信协议是Microsoft定义RDP(Reliable Data Protocol)协议,RDP协
- 第一步:登录Godaddy控制面板,在面板左边选择自己的主机列表,点击进入列表页面:第二步,在列表中选择你要变更的主机,并点击,在右边出现后