Avec délai GNU :
timeout 20 tail -f /path/to/file
Par souci d'exhaustivité, sans timeout
, vous pouvez faire ceci :
#!/bin/sh
tail -f /var/log/syslog &
me=$!
trap "kill $me" INT TERM HUP QUIT EXIT
sleep 20
Le trap
garantit que lorsque le script ou le shell parent est terminé (nous atteignons la fin du script (EXIT), Ctrl-C (INT), en envoyant un SIGTERM via kill
, déconnexion du shell (HUP), etc) puis le tail
est tué.