Kako pokrenuti naredbu s vremenskim ograničenjem (timeout) u Linuxu


Linux dolazi sa mnoštvom naredbi, svaka naredba je jedinstvena i koristi se u određenim slučajevima. Cilj Linuxa je da vam pomogne da budete što brži i efikasniji. Jedno svojstvo Linux naredbe je vremensko ograničenje. Možete postaviti vremensko ograničenje za bilo koju komandu koju želite. Ako vrijeme istekne, naredba prestaje da se izvršava.

U ovom kratkom vodiču naučit ćete dvije metode o tome kako možete koristiti vremensko ograničenje u svojim naredbama.

Na ovoj stranici:
  1. Pokrenite Linux komande pomoću alata za vremensko ograničenje
  2. Pokrenite Linux komande koristeći program za ograničenje vremena

Pokrenite Linux komande pomoću alata za vremensko ograničenje

Linux ima uslužni program komandne linije koji se zove timeout, koji vam omogućava da izvršite naredbu s vremenskim ograničenjem.

Njegova sintaksa je sljedeća.

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

Da biste koristili naredbu, navedite vrijednost timeout (u sekundama) sa komandom koju želite pokrenuti. Na primjer, da isteknete ping naredbu nakon 5 sekundi, možete pokrenuti sljedeću naredbu.

timeout 5s ping google.com

Ne morate navesti (e) nakon broja 5. Naredba ispod je ista i i dalje će raditi.

timeout 5 ping google.com

Ostali sufiksi uključuju:

  • m predstavlja minute
  • h predstavlja sate
  • d predstavlja dane

Ponekad naredbe mogu nastaviti da rade čak i nakon što timeout pošalje početni signal. U takvim slučajevima, možete koristiti opciju --kill-after.

Evo sintakse.

-k, --kill-after=DURATION

Morate navesti trajanje da obavijestite timeout nakon koliko vremena treba poslati signal za ukidanje.

Na primjer, prikazana komanda će biti prekinuta nakon 8 sekundi.

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

Pokrenite Linux komande koristeći program za ograničenje vremena

Program Vremensko ograničenje pokreće datu komandu, a zatim prekida proces nakon određenog vremena koristeći dati signal. Prvo propušta signal upozorenja, a zatim nakon isteka vremena šalje signal za ukidanje.

Za razliku od opcije timeout, Timelimit ima više opcija kao što su killsig, warnsig, killtime > i vrijeme upozorenja.

Vremensko ograničenje se može naći u repozitorijumima Debian-baziranih sistema i da ga instalirate, koristite sljedeću naredbu.

sudo apt install timelimit

Za Arch bazirane sisteme, možete ga instalirati pomoću pomoćnih programa AUR, npr. Pacaur Pacman i Paker.

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

Ostale Linux distribucije, možete preuzeti vremenski ograničeni izvor i ručno ga instalirati.

Nakon instalacije, pokrenite sljedeću naredbu i odredite vrijeme. U ovom primjeru možete koristiti 10 sekundi.

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

Imajte na umu da ako ne navedete argumente, Timelimit koristi zadane vrijednosti: warntime=3600 sekundi, warnsig=15, killtime =120 i killsig=9.

Zaključak

U ovom vodiču naučili ste kako pokrenuti naredbe s vremenskim ograničenjem u Linuxu. U pregledu, možete koristiti naredbu Timeout ili uslužni program Timelimit.

Naredba Timeout je jednostavna za korištenje, ali uslužni program Timelimit je malo komplikovan, ali ima više opcija. Možete odabrati najprikladniju opciju ovisno o vašim potrebama.