timeout

timeout beëindigt een commando automatisch als het te lang duurt.

Basisgebruik

timeout 30 commando
timeout 5m lang-script.sh

Tijdseenheden

EenheidBetekenis
(geen)Seconden
sSeconden
mMinuten
hUren
dDagen

Opties

OptieBetekenis
-s signaalTe sturen signaal (standaard: SIGTERM)
--preserve-statusGebruik exitcode van commando, niet van timeout
-k nStuur SIGKILL na n seconden als SIGTERM niet werkt

Voorbeelden

Curl met time-out van 10 seconden:

timeout 10 curl https://example.com

Script maximaal 5 minuten laten draaien:

timeout 5m ./verwerk.sh

SIGKILL als SIGTERM na 5s niet werkt:

timeout -k 5s 30s ./koppig-script.sh

In een script controleren of de time-out is bereikt:

timeout 60 ./script.sh
if [ $? -eq 124 ]; then
    echo "Tijdslimiet overschreden"
fi

Tip

Exitcode 124 betekent dat de time-out is bereikt. Gebruik dit in scripts om time-outs netjes af te handelen.

scriptingprocessen