Mit GNU-Timeout:
timeout 20 tail -f /path/to/file
Der Vollständigkeit halber ohne timeout
, können Sie Folgendes tun:
#!/bin/sh
tail -f /var/log/syslog &
me=$!
trap "kill $me" INT TERM HUP QUIT EXIT
sleep 20
Die trap
line stellt sicher, dass, wenn das Skript oder die übergeordnete Shell beendet wird (wir erreichen das Ende des Skripts (EXIT), Strg-C (INT), Senden eines SIGTERM über kill
, Abmelden von der Shell (HUP) usw.) und dann tail
wird getötet.