프로그램이 종료된 직후에 프로그램의 실행 시간을 구해야 하는데 이런 생각이 들었습니다.
start=`date +"%M"`
while [ `pgrep vlc` ];do
echo vlcopen > /dev/null
done
stop=`date +"%M"`
[ $stop -lt $start ]&&time=$[ 60-$start+$stop ]||time=$[ $stop-$start ]
echo $time > time.txt
작업은 완료되지만 매우 비효율적이며 많은 컵 사용이 필요합니다. 이 작업을 보다 효율적으로 수행할 수 있는 방법은 무엇입니까?
답변1
한 가지 옵션은 다음을 사용하는 것입니다.time
참고: Bash에는 키워드가 있으므로 time
그렇게 하는 경우:
time some command
time
보통 남자들에게서 흔히 볼 수 있는 것이 time
바로 이것이다 ./usr/bin/time
$ type -t time
keyword
사용의 주요 포인트배쉬가 아닌-v
시간은 (GNU ) 와 같은 함수입니다 time
.
답변2
사용배쉬 SECONDS
변수:
SECONDS=0
# do stuff here, such as
sleep 5
duration=$SECONDS
echo "The stuff took $duration seconds to complete"
외부 프로세스를 생성할 필요성을 제거하여 효율성을 높입니다.