Zoeken op website

Een opdracht uitvoeren met een tijdslimiet (time-out) in Linux


Linux wordt geleverd met een overvloed aan opdrachten, waarbij elke opdracht uniek is en in specifieke gevallen wordt gebruikt. Het doel van Linux is om je te helpen zo snel en efficiënt mogelijk te zijn. Eén eigenschap van een Linux-opdracht is de tijdslimiet. U kunt voor elke gewenste opdracht een tijdslimiet instellen. Als de tijd verstrijkt, stopt de uitvoering van de opdracht.

In deze korte tutorial ga je twee methoden leren over hoe je een tijdslimiet in je commando's kunt gebruiken.

Op deze pagina:
  1. Voer Linux-opdrachten uit met behulp van de time-outtool
  2. Voer Linux-opdrachten uit met behulp van het tijdlimietprogramma

Voer Linux-opdrachten uit met behulp van de time-outtool

Linux heeft een opdrachtregelhulpprogramma genaamd timeout, waarmee je een opdracht met een tijdslimiet kunt uitvoeren.

De syntaxis is als volgt.

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

Om de opdracht te gebruiken, geeft u een time-out-waarde (in seconden) op bij de opdracht die u wilt uitvoeren. Als u bijvoorbeeld een ping-opdracht na 5 seconden wilt time-outen, kunt u de volgende opdracht uitvoeren.

timeout 5s ping google.com

U hoeft de (s) na nummer 5 niet op te geven. Het onderstaande commando is hetzelfde en zal nog steeds werken.

timeout 5 ping google.com

Andere achtervoegsels zijn onder meer:

  • m staat voor minuten
  • h staat voor uren
  • d staat voor dagen

Soms blijven opdrachten actief, zelfs nadat de time-out het eerste signaal heeft verzonden. In dergelijke gevallen kunt u de optie --kill-after gebruiken.

Hier is de syntaxis.

-k, --kill-after=DURATION

U moet een duur opgeven zodat time-out weet na hoeveel tijd het kill-signaal moet worden verzonden.

Het weergegeven commando wordt bijvoorbeeld na 8 seconden beëindigd.

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

Voer Linux-opdrachten uit met behulp van het tijdlimietprogramma

Het Timelimit programma voert een gegeven commando uit en beëindigt het proces vervolgens na een bepaalde tijd met behulp van een bepaald signaal. Het geeft eerst een waarschuwingssignaal door en verzendt na een time-out het kill-signaal.

In tegenstelling tot de optie time-out heeft Tijdlimiet meer opties, zoals killsig, warnsig, killtime > en waarschuwingstijd.

Tijdlimiet kan worden gevonden in de opslagplaatsen van op Debian gebaseerde systemen. Om het te installeren, gebruikt u de volgende opdracht.

sudo apt install timelimit

Voor Arch-gebaseerde systemen kunt u het installeren met behulp van AUR helperprogramma's, bijvoorbeeld Pacaur Pacman en >Inpakker.

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

Voor andere Linux-distributies kunt u de tijdslimietbron downloaden en deze handmatig installeren.

Voer na de installatie de volgende opdracht uit en geef de tijd op. In dit voorbeeld kunt u 10 seconden gebruiken.

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

Houd er rekening mee dat als u geen argumenten opgeeft, Tijdlimiet de standaardwaarden gebruikt: warntime=3600 seconden, warnsig=15, killtime =120 en killsig=9.

Conclusie

In deze handleiding heb je geleerd hoe je opdrachten met een tijdslimiet kunt uitvoeren in Linux. Ter controle kunt u de opdracht Timeout of het hulpprogramma Timelimit gebruiken.

De opdracht Timeout is eenvoudig te gebruiken, maar het hulpprogramma Timelimit is een beetje ingewikkeld, maar heeft meer opties. Afhankelijk van uw behoeften kunt u de meest geschikte optie kiezen.