gpt4 book ai didi

linux - bash 计时器(以毫秒为单位)

转载 作者:太空宇宙 更新时间:2023-11-04 09:20:37 24 4
gpt4 key购买 nike

我正在尝试以毫秒为单位实现 5 分钟(300 秒)的计时器,但 sleep 0.001 需要超过 5 分钟。

如果我将 if [ $t -ge 300000 ] 更改为 if [ $t -ge 30000 ],它将在 3 分钟内完成。

df1,df2分别保存了时间t1和t2的disk usage值。

t=0
x=0
df1
while [ $x -lt 10000 ]

sleep 0.001
df2
x=(( df1-df2 ))
if [ $t -ge 300000 ]
then
t=0
df1
else
(( t++ ))
fi
done
dosomething

我想每 0.001 秒测试一次 $xdf1df2 应该每 300 秒保存一次新值。我怎样才能做到这一点?

最佳答案

date %N, 会得到纳秒级的时间,也许这有帮助

start_at=$(date +%s,%N)
# do something that requires timing here
end_at=$(date +%s,%N)
_s1=$(echo $start_at | cut -d',' -f1) # sec
_s2=$(echo $start_at | cut -d',' -f2) # nano sec
_e1=$(echo $end_at | cut -d',' -f1)
_e2=$(echo $end_at | cut -d',' -f2)
time_cost=$(bc <<< "scale=3; $_e1 - $_s1 + ($_e2 -$_s2)/1000000000")

关于linux - bash 计时器(以毫秒为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42356299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com