백그라운드에서 경과 시간을 모니터링하는 명령?

백그라운드에서 경과 시간을 모니터링하는 명령?

나는 쉘에서 경과 시간을 모니터링하는 적절한 방법을 찾으려고 노력해 왔습니다. 기본적으로 저는 스톱워치를 원해요. 최종 결과는 달성하기 쉽습니다. time read사용하고 완료되면 Enter를 누르는 예를 보았지만 이러한 접근 방식은 현재 터미널을 사용할 수 없게 만듭니다.

이상적으로는 다음과 같은 것을 원합니다.

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

타이머를 일시정지할 수 있는 방법이 있으면 좋을 것 같습니다. 참고로 MIT OCW에서 프로그래밍 과제를 완료하는 데 걸리는 시간을 계산하는 데 사용할 계획입니다. 따라서 작업을 여러 번 완료해야 할 수 있으므로 타이머를 일시 중지했다가 다시 시작하는 방법이 도움이 될 것입니다.

그런 게 있나요?

답변1

다음과 같은 쉘 스크립트( 라고 함 timer.sh)를 사용해 볼 수 있습니다.

. 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

관련 정보