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


Linux dolazi s obiljem naredbi, svaka naredba je jedinstvena i koristi se u određenim slučajevima. Cilj Linuxa je pomoći vam da budete što brži i učinkovitiji. Jedno svojstvo Linux naredbe je vremensko ograničenje. Možete postaviti vremensko ograničenje za bilo koju naredbu koju želite. Ako vrijeme istekne, naredba se prestaje izvršavati.

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 naredbe pomoću alata za vremensko ograničenje
  2. Izvršite Linux naredbe pomoću programa Timelimit

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

Linux ima pomoćni program naredbenog retka koji se zove timeout, koji vam omogućuje izvršavanje naredbe s vremenskim ograničenjem.

Sintaksa mu je sljedeća.

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

Da biste koristili naredbu, odredite vrijednost timeout (u sekundama) s naredbom koju želite pokrenuti. Na primjer, da biste istekli ping naredbu nakon 5 sekundi, možete pokrenuti sljedeću naredbu.

timeout 5s ping google.com

Ne morate navesti (s) nakon broja 5. Naredba u nastavku 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 se naredbe mogu nastaviti izvoditi č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 kako bi timeout znao nakon koliko vremena treba poslati signal za ubijanje.

Na primjer, prikazana naredba će se prekinuti nakon 8 sekundi.

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

Izvršite Linux naredbe pomoću programa Timelimit

Program Timelimit pokreće zadanu naredbu, a zatim prekida proces nakon određenog vremena koristeći zadani signal. U početku šalje signal upozorenja, a zatim nakon isteka vremena šalje signal za ubijanje.

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

Vremensko ograničenje može se pronaći u spremištima sustava temeljenih na Debianu, a za instalaciju koristite sljedeću naredbu.

sudo apt install timelimit

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

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

Ostale distribucije Linuxa, možete preuzeti timelimit 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 ste vodiču naučili kako pokretati naredbe s vremenskim ograničenjem u Linuxu. U pregledu možete koristiti naredbu Timeout ili uslužni program Timeout.

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