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í

instagram viewer
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.

E-mailem
5 způsobů blokování stránek a omezení času na obrazovce v systému Linux

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ší

Související témata
  • Linux
  • Linux
O autorovi
Deepesh Sharma (Publikováno 47 článků)

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.

Více od Deepesh Sharma

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.

.