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.
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.
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
- Linux
- Linux
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.
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.