我需要在程序关闭后立即获取程序的运行时间,我想出了这个
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
使用要点非bash时间是像-v
(GNU time
)这样的功能。
答案2
SECONDS=0
# do stuff here, such as
sleep 5
duration=$SECONDS
echo "The stuff took $duration seconds to complete"
通过消除产生外部进程的需要来提高效率。