A Linux szerverek vezérléséért felelős rendszergazdák számára az erőforrás-kezelés fontos feladat. Előfordul, hogy a Linux parancsai hatalmas mennyiségű rendszererőforrást foglalnak el, és le kell állítani őket.
Szerencsére korlátozhatja a parancsok futási idejét a (z) segédprogramokkal határidő. Ebben a cikkben megvitatjuk, miért adhat időkorlátokat a parancsaihoz, és hogyan adhat hozzá időkorlátot olyan parancsok használatával, mint az időkorlát és az időkorlát.
Miért kell korlátozni a parancs futási idejét?
Számos oka lehet annak, hogy a parancsokat időbeli korlátozással kell futtatnia. Először is, lehet, hogy egy régebbi számítógépet vagy szervert futtat, és nem szeretné, hogy a rendszere nem kívánt feldolgozás során pazarolja erőforrásait.
Másodszor, az időhöz kötött feladatok, például a fájlátvitel, egy bizonyos idő után befejeződnek, de folyamataik nem állnak le azonnal. Annak korlátozásához, hogy a program további CPU-időt és memóriát vegyen igénybe, hozzáadhat egy korlátot, amely leállítja a folyamatot az átvitel befejezése után.
Limit hozzáadása az időkorlát paranccsal
A timeout parancs az első választás sok Linux felhasználó számára, hogy időbeli korlátozást adjon a parancsaikhoz. Mivel ez az eszköz a GNU Core Utilities csomagot, szinte minden Linux disztribúcióra előre telepítve van.
A timeout parancs alapvető szintaxisa:
timeout limit parancs
...hol határ az az időtartam, ameddig a parancsnak futnia kell, és parancs az a Linux parancs, amelyet időhatárral akar végrehajtani.
Például, ha a folyamat részleteit a tetejére parancs 10 másodpercig:
időkorlát 10-es évek teteje
A felső parancs soha nem ér véget, és kézzel kell kilépnie a használatával Ctrl + C. A fent említett parancs 10 másodpercig fut a tetején, és ha az időzítő lejárt, az időtúllépés leállítja a végrehajtását. Vegye figyelembe, hogy az időtúllépés eltart másodpercig alapértelmezett időegységként, ami azt jelenti 10 és 10-es évek ugyanazok.
Használhatja is m, h, és d mert percek, órák, és napok illetőleg.
Gyilkos jelek kézi küldése időtúllépéssel
Alapértelmezés szerint az időkorlát parancs a SIGTERM-et küldi el kill jelként. A SIGTERM jelentése Signal Stop, amely azonnal befejezi a folyamatot.
Más jeleket is küldhet a -s zászló. Például a SIGKILL jel elküldéséhez:
timeout -s SIGKILL 10 top
A jel megadása annak jelszámával is lehetséges. A következő parancs elküldi a SIGKILL jelet a felső parancsnak is.
időkorlát -s 9 10 top
...hol 9 a SIGKILL jelszáma.
Az összes rendelkezésre álló jel felsorolásához:
ölni -l
Egyes parancsok még időkorlát hozzáadása után sem állnak le teljesen. Ilyen esetekben a kill jel javítása az alapértelmezett timeout paranccsal megoldja a problémát.
timeout -k 15 10 top
A fent említett parancs először 10 másodpercig futtatja a felső parancsot, és ha a parancs nem áll le, 15 másodperc után kill jelet küld a folyamatnak.
Tudj meg többet: Hogyan lehet megölni a nem válaszoló programokat Linux alatt
A parancs futási idejének korlátozása időhatárral
A timeout paranccsal ellentétben az timelimit nem tartozik a Linux csomagokba előre telepített standard csomagok közé. Ezért manuálisan kell telepítenie az idővonalat a rendszerére.
Telepítés Debian-alapú terjesztésekre:
sudo apt install timelimit
A Timelimit nem érhető el az Arch hivatalos tárházaiban. De telepítheti egy AUR csomagkezelővel, például Hurrá.
sudo yay -S időhatár
Összefüggő: Csomagok telepítése Arch Linux rendszerre
Telepítés a Fedorára:
sudo dnf install timelimit
Az RHEL-en és a CentOS-on:
sudo yum install timelimit
Alternatív megoldásként, ha továbbra sem tudja telepíteni a csomagot a rendszerére, töltse le a forráskódot a hivatalos webhelyről, és telepítse manuálisan.
Letöltés: határidő
A legfelső parancs futtatásához 10 másodpercig az idő korlátozásával:
timelimit -t10 top
A Timelimit több argumentumot vesz fel, mint például warntime, figyelmeztet, elütni az időt, és megöli. Ha a felhasználó nem adja meg ezeket az argumentumokat, akkor az alapértelmezett értékeket vesszük warntime = 3600 másodperc, warnsig = 15, killtime = 120, és killsig = 9.
Parancs életének kezelése Linux alatt
A parancsok figyelése és a folyamatok irányításának átvétele akkor válik fontossá, ha a Linux gépének korlátozott erőforrásai vannak. Az olyan segédprogramok, mint az időtúllépés és az időkorlát, életmentők, mivel lehetővé teszik, hogy időbeli korlátozásokat adjon a parancsokhoz.
A parancs futásidejéhez hasonlóan korlátozhatja a rendszer képernyőidejét is. Ha olyan szülő vagy, aki nem akarja, hogy a gyerek felesleges időt pazaroljon a számítógép előtt, akkor a képernyőidő korlátozása a legmegfelelőbb választás.
A szülői felügyeleti szoftver gyakorlatilag ismeretlen a Linuxon. Itt többféle módon blokkolhatja a webhelyeket és kezelheti a tartalmat a Linux rendszeren.
Olvassa el a következőt
- Linux
- Linux

Deepesh a MUO Linux junior szerkesztője. Több mint 3 éve ír információs tartalmat az interneten. Szabadidejében szívesen ír, zenét hallgat és gitározik.
Iratkozzon fel hírlevelünkre
Csatlakozzon hírlevelünkhöz, amely műszaki tippeket, véleményeket, ingyenes e-könyveket és exkluzív ajánlatokat tartalmaz!
Még egy lépés…!
Kérjük, erősítse meg e-mail címét az imént elküldött e-mailben.