CLOCK_PID=$!
trap 'kill -9 $CLOCK_PID' EXIT
tail -f mylog.log
Eu tenho um script que tail
um arquivo ao exibir um relógio no canto superior direito . Eu peguei a parte do relógio da internet, e funciona bem. O script inteiro é algo como (eu simplifiquei):
while sleep 1; do tput sc; tput cup 0 $(($(tput cols)-29)); date; tput rc; done &
tail -f mylog.log
Tudo funciona bem, mas o problema é que quando eu paro o script usando CTRL+C
o relógio continua rodando no meu console (até que eu manualmente mato o processo bash que sobrou). Então, existe uma maneira de parar esse processo quando eu sair do script?
Eu tentei o código abaixo, mas não funciona:
while sleep 1; do tput sc; tput cup 0 $(($(tput cols)-29)); date; tput rc; done &
CLOCK_PID=$!
tail -f mylog.log
kill -9 $CLOCK_PID
Eu pesquisei como interceptar CTRL+C
no bash, mas não tenho certeza se é o caminho certo ...
Talvez watch
atenda às suas necessidades. Imprime a hora atual por padrão. Algo como:
$ watch tail -n 30 /var/log/syslog
Tags bash kill shell-script trap