Pre správcov systému, ktorí sú zodpovední za kontrolu serverov Linux, je správa zdrojov dôležitou úlohou, o ktorú sa treba postarať. Príkazy Linuxu niekedy zaberajú obrovský kus systémových prostriedkov a je potrebné ich zastaviť.

Našťastie môžete obmedziť runtime vašich príkazov pomocou nástrojov ako lehota. V tomto článku si ukážeme, prečo by ste mali do svojich príkazov pridať časové limity a ako pridať časové obmedzenie pomocou príkazov ako timelimit a timeout.

Prečo obmedziť runtime príkazu?

Existuje niekoľko dôvodov, prečo možno budete musieť spustiť svoje príkazy s časovým limitom. Najprv možno pracujete so starším počítačom alebo serverom a nechcete, aby váš systém zbytočne míňal svoje zdroje nechceným spracovaním.

Po druhé, časovo obmedzené úlohy, ako napríklad prenos súborov, sa dokončia po určitom období, ale ich procesy sa nezastavia okamžite. Ak chcete programu zabrániť v získaní ďalšieho času a pamäte procesora, môžete pridať limit, ktorý zastaví proces po dokončení prenosu.

instagram viewer

Pridajte limit pomocou príkazu časového limitu

Príkaz timeout je prvou voľbou mnohých používateľov systému Linux, ktorá svojim príkazom pridáva časové obmedzenie. Pretože tento nástroj je súčasťou GNU Core Utilities je predinštalovaný takmer v každej distribúcii Linuxu.

Základná syntax príkazu timeout je:

príkaz časového limitu

...kde limit je doba, po ktorú by mal príkaz bežať, a príkaz je príkaz Linuxu, ktorý chcete vykonať s časovým limitom.

Napríklad, ak chcete získať podrobnosti procesu pomocou hore príkaz na 10 sekúnd:

časový limit 10s hore

Najvyšší príkaz je nikdy nekončiaci a musíte ho manuálne ukončiť pomocou príkazu Ctrl + C. Vyššie spomenutý príkaz pobeží 10 sekúnd na vrchu a po uplynutí časovača zastaví jeho vykonávanie časový limit. Upozorňujeme, že časový limit trvá sekúnd ako predvolená časová jednotka, čo znamená 10 a 10. roky sú rovnaké.

Môžete tiež použiť m, ha d pre minút, hodína dni resp.

Ručne pošlite signály zabitia s časovým limitom

Príkaz timeout štandardne odosiela signál SIGTERM ako signál zabitia. SIGTERM znamená Signál ukončiť, čím sa proces okamžite ukončí.

Môžete vyslať aj ďalšie signály pomocou -s vlajka. Napríklad na odoslanie signálu SIGKILL:

časový limit -s SIGKILL 10 top

Je tiež možné špecifikovať signál s jeho číslom signálu. Nasledujúci príkaz vyšle signál SIGKILL aj vrchnému príkazu.

časový limit -s 9 10 horných

...kde 9 je číslo signálu pre SIGKILL.

Zoznam všetkých dostupných signálov získate takto:

zabiť -l

Niektoré príkazy sa úplne nezastavia ani po pridaní časového limitu. V takýchto situáciách problém vyrieši pridanie signálu zabitia pomocou príkazu predvoleného časového limitu.

timeout -k 15 10 top

Vyššie uvedený príkaz najskôr spustí horný príkaz na 10 sekúnd a ak sa príkaz nezastaví, po 15 sekundách pošle procesu signál zabitia.

Uč sa viac: Ako zabiť nereagujúce programy v systéme Linux

Obmedzenie doby behu príkazu s časovým limitom

Na rozdiel od príkazu timeout nie je timelimit jedným zo štandardných balíkov, ktoré sú predinštalované na distribúciách Linuxu. Preto budete musieť manuálne nainštalovať timelimit do vášho systému.

Inštalácia na distribúcie založené na Debiane:

sudo apt nainštalovať timelimit

Timelimit nie je k dispozícii v oficiálnych archívoch Arch. Môžete ho však nainštalovať pomocou správcu balíkov AUR, ako je Jéj.

sudo yay -S timelimit

Súvisiace: Ako inštalovať balíčky na Arch Linuxe

Inštalácia na Fedore:

sudo dnf nainštalovať timelimit

Na serveroch RHEL a CentOS:

sudo yum nainštalovať timelimit

Ak stále nemôžete nainštalovať balík do svojho systému, stiahnite si zdrojový kód z oficiálnej webovej stránky a nainštalujte ho manuálne.

Stiahnuť ▼: lehota

Ak chcete spustiť horný príkaz na 10 sekúnd pomocou timelimit:

timelimit -t10 top

Timelimit má viac argumentov ako vojna, varovať, zabiť časa killsig. Ak používateľ tieto argumenty nedodá, použije sa ich predvolená hodnota, ktorá je warntime = 3600 sekundy, varovanie = 15, čas zabitia = 120a killsig = 9.

Správa životnosti príkazu v systéme Linux

Monitorovanie príkazov a prevzatie kontroly nad procesmi sa stáva dôležitým, ak má váš počítač Linux obmedzené zdroje. Pomôcky ako timeout a timelimit sú záchranou, pretože vám umožňujú pridať k vašim príkazom časové obmedzenia.

Rovnako ako runtime príkazov, môžete tiež obmedziť čas obrazovky vášho systému. Ak ste rodičom, ktorý nechce, aby vaše dieťa strácalo zbytočný čas pred počítačom, je tou najvhodnejšou voľbou obmedzenie času na obrazovke.

Email
5 spôsobov blokovania stránok a obmedzenie času na obrazovke v systéme Linux

Softvér pre rodičovskú kontrolu je v systéme Linux skutočne neslýchaný. Tu je niekoľko spôsobov, ako môžete blokovať stránky a spravovať obsah v systéme Linux.

Prečítajte si Ďalej

Súvisiace témy
  • Linux
  • Linux
O autorovi
Deepesh Sharma (Publikovaných 47 článkov)

Deepesh je juniorský editor pre Linux na MUO. Informačnému obsahu píše na internete už viac ako 3 roky. Vo voľnom čase rád píše, počúva hudbu a hrá na gitare.

Viac od Deepesh Sharma

Prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!

Ešte jeden krok…!

V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.

.