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:
- Kjør Linux-kommandoer ved å bruke tidsavbruddsverktøyet
- 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 minutterh
som representerer timerd
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.