プログラムが閉じられたらすぐにその実行時間を取得する必要があり、これを思いつきました
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
あれは使われています、 SHELL_GRAMMAR: bash
time
男性に見られるのはtime
、通常次のようなものです/usr/bin/time
$ type -t time
keyword
使用上の主なポイント非バッシュ-v
時間は(GNU )のような機能ですtime
。
答え2
SECONDS=0
# do stuff here, such as
sleep 5
duration=$SECONDS
echo "The stuff took $duration seconds to complete"
外部プロセスを生成する必要性を排除することで効率が向上します。