Pro správce systému, kteří jsou zodpovědní za ovládání serverů Linux, je správa prostředků důležitým úkolem, o který se musíte postarat. Někdy příkazy Linuxu zabírají obrovské množství systémových prostředků a je třeba je zastavit.
Naštěstí můžete omezit dobu běhu vašich příkazů pomocí nástrojů jako lhůta. V tomto článku probereme, proč byste měli do svých příkazů přidat časové limity a jak přidat časové omezení pomocí příkazů jako timelimit a timeout.
Proč omezit dobu běhu příkazu?
Existuje několik důvodů, proč možná budete muset spouštět své příkazy s časovým omezením. Nejprve možná používáte starší počítač nebo server a nechcete, aby váš systém plýtval zdroji nechtěným zpracováním.
Zadruhé, časově vázané úkoly, jako jsou přenosy souborů, se dokončí po určitém období, ale jejich procesy se nezastaví okamžitě. Chcete-li programu omezit další čas a paměť CPU, můžete přidat limit, který zastaví proces po dokončení přenosu.
Přidejte limit pomocí příkazu časového limitu
Příkaz timeout je první volbou mnoha uživatelů Linuxu, kteří do svých příkazů přidali časové omezení. Protože je tento nástroj součástí
GNU Core Utilities Balíček je předinstalován téměř na každé distribuci Linuxu.Základní syntaxe příkazu timeout je:
příkaz limitu časového limitu
...kde omezit je doba, po kterou by měl příkaz běžet a příkaz je příkaz Linux, který chcete provést s časovým limitem.
Například pokud chcete získat podrobnosti procesu pomocí horní příkaz na 10 sekund:
časový limit 10 s nahoře
Horní příkaz je nikdy nekončící a musíte jej ručně ukončit pomocí Ctrl + C. Výše uvedený příkaz poběží nahoře po dobu 10 sekund a jakmile je časovač spuštěn, časový limit zastaví jeho provádění. Všimněte si, že časový limit trvá sekundy jako výchozí časová jednotka, což znamená 10 a 10s jsou stejní.
Můžete také použít m, h, a d pro minut, hodin, a dnů resp.
Ručně odesílat zabít signály s vypršením časového limitu
Ve výchozím nastavení odešle příkaz timeout signál SIGTERM jako signál zabití. SIGTERM znamená Ukončit signál, který proces okamžitě ukončí.
Další signály můžete odeslat také pomocí -s vlajka. Například pro odeslání signálu SIGKILL:
timeout -s SIGKILL 10 top
Je také možné zadat signál s jeho číslem signálu. Následující příkaz vyšle signál SIGKILL také vrchnímu příkazu.
časový limit -s 9 10 nahoře
...kde 9 je číslo signálu pro SIGKILL.
Seznam všech dostupných signálů získáte takto:
zabít -l
Některé příkazy se nezastaví úplně ani po přidání časového limitu. V takových situacích problém vyřeší přidání signálu zabití pomocí výchozího časového limitu.
timeout -k 15 10 nahoře
Výše uvedený příkaz nejprve spustí horní příkaz po dobu 10 sekund, a pokud se příkaz nezastaví, po 15 sekundách pošle signál zabití do procesu.
Více informací: Jak zabít nereagující programy v Linuxu
Omezení doby běhu příkazu s timelimit
Na rozdíl od příkazu timeout není timelimit jedním ze standardních balíčků, které jsou předinstalovány v distribucích Linuxu. Proto budete muset do svého systému ručně nainstalovat timelimit.
Instalace do distribucí založených na Debianu:
sudo apt nainstalovat timelimit
Timelimit není k dispozici v oficiálních úložištích Arch. Můžete jej však nainstalovat pomocí správce balíčků AUR, jako je jo.
sudo yay -S timelimit
Příbuzný: Jak instalovat balíčky na Arch Linuxu
Instalace na Fedoru:
sudo dnf install timelimit
Na RHEL a CentOS:
sudo yum install timelimit
Pokud stále nemůžete balíček nainstalovat do svého systému, stáhněte si zdrojový kód z oficiálního webu a nainstalujte jej ručně.
Stažení: lhůta
Spuštění horního příkazu po dobu 10 sekund pomocí timelimit:
timelimit -t10 top
Timelimit bere více argumentů jako válka, varovat, čas zabití, a zabít. Pokud uživatel tyto argumenty nedodá, vezmou se jejich výchozí hodnoty, které jsou warntime = 3600 sekundy, varování = 15, zabiják = 120, a Killsig = 9.
Správa životnosti příkazu v systému Linux
Monitorování příkazů a převzetí kontroly nad procesy se stává důležitým, pokud má váš počítač Linux omezené zdroje. Nástroje, jako je časový limit a timelimit, jsou záchranářem, protože vám umožňují přidat k vašim příkazům časová omezení.
Stejně jako runtime příkazů můžete také omezit čas obrazovky vašeho systému. Pokud jste rodič, který nechce, aby vaše dítě ztrácelo zbytečný čas před počítačem, je tou nejvhodnější volbou omezit čas strávený na obrazovce.
Software pro rodičovskou kontrolu je v systému Linux prakticky neslýchaný. Tady je několik způsobů, jak můžete v Linuxu blokovat weby a spravovat obsah.
Přečtěte si další
- Linux
- Linux
Deepesh je Junior Editor pro Linux na MUO. Píše informační obsah na internetu již více než 3 roky. Ve volném čase rád píše, poslouchá hudbu a hraje na kytaru.
Přihlaste se k odběru našeho zpravodaje
Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!
Ještě jeden krok…!
V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.