timeout beëindigt een commando automatisch als het te lang duurt.
timeout 30 commando
timeout 5m lang-script.sh
| Eenheid | Betekenis |
|---|---|
| (geen) | Seconden |
s | Seconden |
m | Minuten |
h | Uren |
d | Dagen |
| Optie | Betekenis |
|---|---|
-s signaal | Te sturen signaal (standaard: SIGTERM) |
--preserve-status | Gebruik exitcode van commando, niet van timeout |
-k n | Stuur SIGKILL na n seconden als SIGTERM niet werkt |
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
Exitcode 124 betekent dat de time-out is bereikt. Gebruik dit in scripts om time-outs netjes af te handelen.