Comando para monitorar o tempo decorrido em segundo plano?

2

Eu tenho tentado encontrar uma maneira decente de monitorar o tempo decorrido no shell. Basicamente, estou pedindo um cronômetro. O resultado final é fácil de realizar; Eu vi exemplos de usar time read e, em seguida, pressionar Enter quando estiver pronto, mas esse método torna o terminal atual inutilizável.

Idealmente, gostaria de algo como:

timer start
(do some work, vim, python, etc.)
timer stop

Também seria bom se houvesse uma maneira de pausar o cronômetro. Para referência, eu estava planejando usá-lo para o tempo que leva para terminar as tarefas de programação do OCW do MIT. Assim, como as tarefas podem ser concluídas em mais de uma sessão, uma maneira de pausar e continuar o cronômetro seria benéfica.

Existe algo assim?

    
por voithos 13.07.2011 / 20:41

1 resposta

3

Você pode tentar um script de shell (chame-o de timer.sh ) assim:

. timer.val

case "$1" in 
  start)
   echo $TIMERSTART
   echo "TIMERSTART='date +%s'" > timer.val
   echo $TIMERSTART
   ;;
  stop)
   echo $TIMERSTART
   TIMEREND='date +%s'
   echo $TIMEREND
   let RESULT=$TIMEREND-$TIMERSTART
   echo $RESULT
   ;;
  *)
   echo "no command"
esac
    
por 13.07.2011 / 21:52