Kako zagnati ukaz s časovno omejitvijo (timeout) v Linuxu


Linux prihaja z obilico ukazov, pri čemer je vsak ukaz edinstven in se uporablja v določenih primerih. Cilj Linuxa je pomagati vam biti čim hitrejši in učinkovitejši. Ena lastnost ukaza Linux je časovna omejitev. Za kateri koli ukaz lahko nastavite časovno omejitev. Če čas poteče, se ukaz ustavi.

V tej kratki vadnici boste izvedeli dve metodi, kako lahko v ukazih uporabite časovno omejitev.

  1. Zaženite ukaze za Linux z uporabo orodja za časovno omejitev
  2. Zaženite ukaze za Linux s programom Timelimit

Linux ima pripomoček za ukazno vrstico, imenovan timeout, ki omogoča izvajanje ukaza s časovno omejitvijo.

Njegova skladnja je naslednja.

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

Če želite uporabiti ukaz, z ukazom, ki ga želite zagnati, določite vrednost časovne omejitve (v sekundah). Na primer, če želite po pet sekundah izvesti ukaz ping, lahko zaženete naslednji ukaz.

# timeout 5s ping google.com

Ni vam treba navesti številk (-e) za številko 5. Spodnji ukaz je enak in bo še vedno deloval.

# timeout 5 ping google.com

Druge pripone vključujejo:

  • m predstavlja minute
  • h predstavlja ure
  • d predstavlja dneve

Včasih se ukazi lahko še naprej izvajajo tudi po tem, ko časovna omejitev pošlje začetni signal. V takih primerih lahko uporabite možnost --kill-after .

Tu je sintaksa.

-k, --kill-after=DURATION

Določiti morate trajanje, da počakate, da po določenem času pošljete signal za ubijanje.

Na primer, prikazani ukaz bo končan po 8 sekundah.

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

Program Timelimit zažene dani ukaz, nato pa postopek po določenem času prek navedenega signala. Sprva odda opozorilni signal, nato pa po preteku časovne omejitve pošlje signal za ubijanje.

Za razliko od možnosti časovne omejitve ima Timelimit več možnosti, kot so killsig, warnsig, killtime in warntime.

Timelimit lahko najdete v repozitorijih sistemov, ki temeljijo na Debianu, in ga namestite z naslednjim ukazom.

$ sudo apt install timelimit

Za sisteme, ki temeljijo na Archu, ga lahko namestite s pomožnimi programi AUR, npr. Pacaur Pacman in Packer.

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

V drugih distribucijah Linuxa lahko prenesete vir časovne omejitve in ga ročno namestite.

Po namestitvi zaženite naslednji ukaz in določite čas. V tem primeru lahko uporabite 10 sekund.

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

Če ne navedete argumentov, Timelimit uporablja privzete vrednosti: warntime = 3600 sekund, warnsig = 15, killtime = 120 in killsig = 9.

V tem priročniku ste se naučili, kako v Linuxu izvajati ukaze s časovno omejitvijo. V pregledu lahko uporabite ukaz Timeout ali pripomoček Timelimit.

Ukaz Timeout je enostaven za uporabo, vendar je pripomoček Timelimit nekoliko zapleten, vendar ima več možnosti. Glede na vaše potrebe lahko izberete najprimernejšo možnost.