Vyhledávání na webu

Jak spustit příkaz s časovým limitem (Timeout) v Linuxu


Linux přichází s velkým množstvím příkazů, z nichž každý je jedinečný a používá se ve specifických případech. Cílem Linuxu je pomoci vám být co nejrychlejší a nejefektivnější. Jednou z vlastností příkazu Linuxu je časový limit. Můžete nastavit časový limit pro jakýkoli příkaz, který chcete. Pokud čas vyprší, příkaz se zastaví.

V tomto krátkém tutoriálu se naučíte dvě metody, jak můžete použít časový limit ve svých příkazech.

Na této straně:
  1. Spusťte příkazy Linux pomocí nástroje pro časový limit
  2. Spusťte příkazy Linuxu pomocí programu Timelimit

Spusťte příkazy Linux pomocí nástroje pro časový limit

Linux má nástroj příkazového řádku zvaný timeout, který umožňuje provést příkaz s časovým limitem.

Jeho syntaxe je následující.

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

Chcete-li příkaz použít, zadejte hodnotu timeout (v sekundách) s příkazem, který chcete spustit. Chcete-li například vypršet časový limit příkazu ping po 5 sekundách, můžete spustit následující příkaz.

timeout 5s ping google.com

(y) za číslem 5 nemusíte zadávat. Níže uvedený příkaz je stejný a bude stále fungovat.

timeout 5 ping google.com

Mezi další přípony patří:

  • m představující minuty
  • h představující hodiny
  • d představují dny

Někdy mohou příkazy pokračovat i poté, co časový limit odešle počáteční signál. V takových případech můžete použít volbu --kill-after.

Zde je syntaxe.

-k, --kill-after=DURATION

Musíte zadat dobu trvání, aby timeout věděl, po jaké době má být signál zabití odeslán.

Zobrazený příkaz bude například ukončen po 8 sekundách.

timeout 8s tail -f /var/log/syslog

Spusťte příkazy Linuxu pomocí programu Timelimit

Program Časový limit spustí daný příkaz a po zadané době proces ukončí pomocí daného signálu. Nejprve projde varovným signálem a po uplynutí časového limitu vyšle signál zabití.

Na rozdíl od možnosti timeoutTimelimit více možností, například killsig, warnsig, killtime a doba varování.

Timelimit lze nalézt v repozitářích systémů založených na Debianu ak jeho instalaci použijte následující příkaz.

sudo apt install timelimit

U systémů Arch jej můžete nainstalovat pomocí pomocných programů AUR, např. Pacaur Pacman a Balík.

Pacman -S timelimit
pacaur -S timelimit
packer -S timelimit

Jiné distribuce Linuxu si můžete stáhnout zdroj časového limitu a ručně jej nainstalovat.

Po instalaci spusťte následující příkaz a zadejte čas. V tomto příkladu můžete použít 10 sekund.

timelimit -t10 tail -f /var/log/pacman.log

Pamatujte, že pokud nezadáte argumenty, Timelimit použije výchozí hodnoty: warntime=3600 sekund, warnsig=15, killtime =120 a killsig=9.

Závěr

V této příručce jste se naučili spouštět příkazy s časovým limitem v Linuxu. Při kontrole můžete použít příkaz Timeout nebo nástroj Timelimit.

Příkaz Timeout se snadno používá, ale nástroj Timelimit je trochu komplikovaný, ale má více možností. V závislosti na vašich potřebách si můžete vybrat nejvhodnější možnost.