kill background while loop

0

Eu tenho um loop while para atuar como cronômetro e eu quero implment no script para contar o tempo gasto pelo comando para executar e eu quero matá-lo após o término do comando

date1='date +%s'; while true; do 
   echo -ne "$(date -u --date @$(('date +%s' - $date1)) +%H:%M:%S)\r";
done &

eu preciso matar esse loop dentro do script

eu tentei

    1-jobs but it gives me no output
    2-kill $! but give me erro

mas o loop continua em execução

    
por Khalid Abo El MaGd 22.08.2016 / 16:31

1 resposta

0

Use o comando timeout fornecido pelo pacote coreutils .

NAME

   timeout - run a command with a time limit

SYNOPSIS
   timeout [OPTION] DURATION COMMAND [ARG]...
   timeout [OPTION]

DESCRIPTION
   Start COMMAND, and kill it if still running after DURATION.
    
por 22.08.2016 / 17:13

Tags