Weboldal keresés

Parancs futtatása időkorláttal (időtúllépés) Linuxon


A Linux rengeteg parancsot tartalmaz, amelyek mindegyike egyedi, és bizonyos esetekben használatos. A Linux célja, hogy a lehető leggyorsabb és leghatékonyabb legyen. A Linux parancsok egyik tulajdonsága az időkorlát. Bármelyik parancshoz beállíthat egy időkorlátot. Ha az idő lejár, a parancs végrehajtása leáll.

Ebben a rövid oktatóanyagban két módszert fogsz megtanulni arra vonatkozóan, hogyan használhatsz időkorlátot a parancsokban.

Ezen az oldalon:
  1. Futtassa a Linux parancsokat az időtúllépési eszköz segítségével
  2. Futtassa a Linux parancsokat a Timelimit programmal

Futtassa a Linux parancsokat az időtúllépési eszköz segítségével

A Linux rendelkezik egy timeout nevű parancssori segédprogrammal, amely lehetővé teszi a parancsok időkorlátos végrehajtását.

A szintaxisa a következő.

timeout [OPTION] DURATION COMMAND [ARG]...

A parancs használatához adjon meg egy timeout értéket (másodpercben) a futtatni kívánt paranccsal. Például egy ping parancs 5 másodperc utáni időkorlátjához futtassa a következő parancsot.

timeout 5s ping google.com

Nem kell megadnia a (ok) jelet az 5 szám után. Az alábbi parancs ugyanaz, és továbbra is működik.

timeout 5 ping google.com

Egyéb utótagok a következők:

  • m percet jelöl
  • h, amely órákat jelöl
  • d a napokat jelöli

Előfordulhat, hogy a parancsok még akkor is futhatnak, ha az időtúllépés elküldi a kezdeti jelet. Ilyen esetekben használhatja a --kill-after opciót.

Íme a szintaxis.

-k, --kill-after=DURATION

Meg kell adnia egy időtartamot, hogy tájékoztassa az időtúllépést, mennyi idő után kell elküldeni a megölési jelet.

Például a megjelenített parancs 8 másodperc múlva leáll.

timeout 8s tail -f /var/log/syslog

Futtassa a Linux parancsokat a Timelimit programmal

Az Időkorlát program egy adott parancsot futtat, majd adott idő elteltével egy adott jel felhasználásával leállítja a folyamatot. Először egy figyelmeztető jelzést ad át, majd egy időtúllépés után elküldi a kill jelet.

Az időtúllépés opcióval ellentétben az Időkorlát több lehetőséget kínál, például killsig, warnsig, killtime > és figyelmeztetés.

Az Időkorlát megtalálható a Debian-alapú rendszerek tárolóiban, és a telepítéshez használja a következő parancsot.

sudo apt install timelimit

Arch-alapú rendszerek esetén az AUR segédprogramok segítségével telepítheti, például a Pacaur Pacman és a >Packer.

Pacman -S timelimit
pacaur -S timelimit
packer -S timelimit

Más Linux disztribúciók esetén letöltheti az időkorlát forrását, és manuálisan telepítheti.

A telepítés után futtassa a következő parancsot, és adja meg az időt. Ebben a példában 10 másodpercet használhat.

timelimit -t10 tail -f /var/log/pacman.log

Vegye figyelembe, hogy ha nem ad meg argumentumokat, a Timelimit az alapértelmezett értékeket használja: warntime=3600 másodperc, warnsig=15, killtime =120 és killsig=9.

Következtetés

Ebből az útmutatóból megtanulta, hogyan kell időkorlátos parancsokat futtatni Linux alatt. A felülvizsgálat során használhatja az Időtúllépés parancsot vagy az Időkorlát segédprogramot.

Az Időtúllépés parancs használata egyszerű, de az Időkorlát segédprogram kissé bonyolult, de több lehetőséget kínál. Igényeinek megfelelően kiválaszthatja a legmegfelelőbb lehetőséget.