linux让脚本在指定时间运行程序,如何限制Linux命令程序运行的时间
1. 前言
本文主要講解如何限制Linux命令程序運(yùn)行的時(shí)間。
Linux提供了大量的命令,每個(gè)命令都是唯一的,并且在特定的情況下使用。Linux的目標(biāo)是幫助您盡可能地高效工作。Linux命令的一個(gè)屬性是時(shí)間限制。您可以為任何您想要的命令設(shè)置時(shí)間限制。如果時(shí)間過(guò)期,命令停止執(zhí)行。
在本教程中,您將學(xué)習(xí)如何在命令中使用時(shí)間限制的兩種方法。
2. 使用timeout命令運(yùn)行Linux命令
Linux有一個(gè)名為timeout的命令行實(shí)用程序,它允許您在有時(shí)間限制的情況下執(zhí)行命令。
它的語(yǔ)法如下:
timeout [OPTION] DURATION COMMAND [ARG]...
要使用該命令,需要為要運(yùn)行的命令指定超時(shí)值(以秒為單位)。例如,要讓ping命令設(shè)置超時(shí)時(shí)間為5秒,可以運(yùn)行以下命令。
timeout 5s ping baidu.com
你不需要為時(shí)間數(shù)值指定s,下面的命令是相同的,仍然可以工作。
timeout 5 ping baidu.com
其他后綴包括:
– m代表分鐘
– h代表時(shí)間
– d代表天
有時(shí),即使在timeout發(fā)送初始信號(hào)后,命令仍可能繼續(xù)運(yùn)行。在這種情況下,可以使用-- kill-after選項(xiàng)。
以下是語(yǔ)法:
-k, --kill-after=DURATION
您需要指定一個(gè)持續(xù)時(shí)間,讓timeout知道殺死信號(hào)要發(fā)送多少時(shí)間之后。
例如,指定命令將在8秒后終止。
timeout 8s tail -f /var/log/syslog
3. 使用timelimit程序運(yùn)行Linux命令
timelimit程序運(yùn)行一個(gè)給定的命令,然后在指定的時(shí)間后使用一個(gè)給定的信號(hào)終止進(jìn)程。它首先傳遞一個(gè)警告信號(hào),然后在超時(shí)后發(fā)送殺死信號(hào)。
與timeout選項(xiàng)不同,timelimit有更多的選項(xiàng),如killsig、warnsig、killtime和warntime。
可以在基于debian的系統(tǒng)的存儲(chǔ)庫(kù)中找到timelimit,要安裝它,使用以下命令。
sudo apt install timelimit
對(duì)于基于arch的系統(tǒng),您可以使用aur輔助程序來(lái)安裝它,例如Pacaur Pacman和Packer。
Pacman -S timelimit
pacaur -S timelimit
packer -S timelimit
在其他Linux發(fā)行版中,您可以下載timelimit源代碼并手動(dòng)安裝它。
安裝后,運(yùn)行以下命令并指定時(shí)間。在本例中,可以使用10秒。
timelimit -t10 tail -f /var/log/pacman.log
注意,如果不指定參數(shù),timelimit使用默認(rèn)值:warntime=3600秒,warnsig=15, killtime=120,和killsig=9。
4. 總結(jié)
在本指南中,您學(xué)習(xí)了如何在Linux中對(duì)運(yùn)行命令設(shè)置時(shí)間限制。本文介紹了2個(gè)工具,timeout命令或timelimit實(shí)用程序。
timeout命令很容易使用,但是timelimit命令有點(diǎn)復(fù)雜,但是有更多的選項(xiàng)。您可以根據(jù)需要選擇最合適的選項(xiàng)。
總結(jié)
以上是生活随笔為你收集整理的linux让脚本在指定时间运行程序,如何限制Linux命令程序运行的时间的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Spring Boot 使用常见问题
- 下一篇: linux终端安装cuda,Ubuntu