time(kill)out w Linux cli

Ostatnio potrzebowałem zebrać logi tcpdump przez określoną jednostkę czasu, interesował mnie konkretny atak ddos, ale by nie zapychać dysku, w momecie wykrycia uruchamiałem tcpdumpa i logowałem wszystko.

Stanąłem przed problemem, jak taki proces uruchomić w bashu w określonej jednostce czasu. Już prawie zacząłem skrobać jednolinijkowca, ale Linux, a raczej coreutils pakiet przyszedł z pomocą. Jest narzędzie timeout, które uruchamia proces przez określoną jednostkę czasu

# timeout 5m tcpdump -w atak.cap

Więcej w manualu: http://man7.org/linux/man-pages/man1/timeout.1.html