我在 Vala 中编写了一些代码,我将首先获取系统时间,然后创建一个文件,然后检索该文件的时间戳。时间戳总是早于系统时间,介于 500 到 1500 微秒之间,这是没有意义的。
然后我写了一个简单的shell脚本:
while true; do
touch ~/tmp/fred.txt
stat ~/tmp/fred.txt|grep ^C
done
结果如下:
Change: 2013-01-18 16:02:44.290787250 +1100
Change: 2013-01-18 16:02:44.293787250 +1100
Change: 2013-01-18 16:02:44.296787250 +1100
Change: 2013-01-18 16:02:44.298787248 +1100
Change: 2013-01-18 16:02:44.301787248 +1100
Change: 2013-01-18 16:02:44.304787248 +1100
Change: 2013-01-18 16:02:44.306787248 +1100
Change: 2013-01-18 16:02:44.309787248 +1100
Change: 2013-01-18 16:02:44.312787248 +1100
Change: 2013-01-18 16:02:44.315787248 +1100
如您所见,小数点后的前 3 位数字(毫秒)似乎没问题,因为它们按预期递增,但第 4 位及以后的数字看起来不正确。第 4 位到第 9 位数字似乎在进行缓慢的倒计时。是否有任何理由,因为我虽然 ext4 支持高达纳秒的精度。访问和修改时间戳的行为方式相同。