Hvordan kjøre en kommando med tidsbegrensning (tidsavbrudd) i Linux


Linux kommer med en mengde kommandoer, hver kommando er unik og brukes i spesifikke tilfeller. Målet med Linux er å hjelpe deg å være så rask og effektiv som mulig. En egenskap til en Linux-kommando er tidsbegrensningen. Du kan angi en tidsbegrensning for hvilken som helst kommando du vil. Hvis tiden utløper, slutter kommandoen å kjøre.

I denne korte opplæringen skal du lære to metoder for hvordan du kan bruke en tidsbegrensning i kommandoene dine.

På denne siden:
  1. Kjør Linux-kommandoer ved å bruke tidsavbruddsverktøyet
  2. Kjør Linux-kommandoer ved å bruke Timelimit-programmet

Kjør Linux-kommandoer ved å bruke tidsavbruddsverktøyet

Linux har et kommandolinjeverktøy kalt timeout, som lar deg utføre en kommando med en tidsbegrensning.

Syntaksen er som følger.

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

For å bruke kommandoen angir du en timeout-verdi (i sekunder) med kommandoen du vil kjøre. For å for eksempel tidsavbryte en ping-kommando etter 5 sekunder, kan du kjøre følgende kommando.

timeout 5s ping google.com

Du trenger ikke å spesifisere (e) etter nummer 5. Kommandoen nedenfor er den samme og vil fortsatt fungere.

timeout 5 ping google.com

Andre suffikser inkluderer:

  • m som representerer minutter
  • h som representerer timer
  • d som representerer dager

Noen ganger kan kommandoer fortsette å kjøre selv etter at timeout sender det første signalet. I slike tilfeller kan du bruke --kill-after-alternativet.

Her er syntaksen.

-k, --kill-after=DURATION

Du må spesifisere en varighet for å la timeout vite etter hvor lang tid drepesignalet skal sendes.

For eksempel vil kommandoen som vises, avsluttes etter 8 sekunder.

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

Kjør Linux-kommandoer ved å bruke Timelimit-programmet

Tidsbegrensning-programmet kjører en gitt kommando og avslutter deretter prosessen etter en spesifisert tid ved å bruke et gitt signal. Den sender først et varselsignal, og etter en timeout sender den drepesignalet.

I motsetning til tidsavbrudd-alternativet, har Tidsgrense flere alternativer som killsig, warnsig, killtime > og varslingstid.

Tidsbegrensning finnes i lagrene til Debian-baserte systemer, og for å installere det, bruk følgende kommando.

sudo apt install timelimit

For Ark-baserte systemer kan du installere det ved hjelp av AUR hjelpeprogrammer, f.eks. Pacaur Pacman og >Pakker.

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

Andre Linux-distribusjoner, du kan laste ned tidsbegrensningskilde og installere den manuelt.

Etter installasjonen, kjør følgende kommando og spesifiser tiden. I dette eksemplet kan du bruke 10 sekunder.

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

Merk at hvis du ikke spesifiserer argumenter, bruker Timelimit standardverdiene: warntime=3600 sekunder, warnsig=15, killtime =120 og killsig=9.

Konklusjon

I denne veiledningen har du lært hvordan du kjører kommandoer med en tidsbegrensning i Linux. Ved gjennomgang kan du bruke kommandoen Timeout eller Timelimit-verktøyet.

Kommandoen Timeout er enkel å bruke, men verktøyet Timelimit er litt komplisert, men har flere alternativer. Du kan velge det mest passende alternativet avhengig av dine behov.