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ě:
- Spusťte příkazy Linux pomocí nástroje pro časový limit
- 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í minutyh
představující hodinyd
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 timeout má Timelimit 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.