免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2740 | 回复: 0
打印 上一主题 下一主题

date没有调用clock_gettime函数,造成时间往前跳跃 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-01 19:50 |只看该作者 |倒序浏览
很奇怪,date没有调用clock_gettime函数,导致date看时间不准,1s钟大概往前跳跃1小时

连续执行date现象

[root@localhost ~]# date
Sun Jan  8 22:42:24 CST 2012
[root@localhost ~]# date
Mon Jan  9 00:01:03 CST 2012
[root@localhost ~]# date
Mon Jan  9 01:26:28 CST 2012
[root@localhost ~]# date
Mon Jan  9 02:58:38 CST 2012



strace信息如下

execve("/bin/date", ["date"], [/* 17 vars */]) = 0
brk(0)                                  = 0x1d48d000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2afb3b90f000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2afb3b910000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=43988, ...}) = 0
mmap(NULL, 43988, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2afb3b911000
close(3)                                = 0
open("/lib64/librt.so.1", O_RDONLY)     = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P(\240\0076\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=246365, ...}) = 0
mmap(0x3607a00000, 2203792, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3607a00000
mprotect(0x3607a0a000, 2093056, PROT_NONE) = 0
mmap(0x3607c09000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x3607c09000
mmap(0x3607c0b000, 61584, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3607c0b000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\342\241d8\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=7939595, ...}) = 0
mmap(0x3864a00000, 3449240, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3864a00000
mprotect(0x3864b42000, 2093056, PROT_NONE) = 0
mmap(0x3864d41000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x141000) = 0x3864d41000
mmap(0x3864d46000, 16792, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3864d46000
close(3)                                = 0
open("/lib64/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260W g8\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=699400, ...}) = 0
mmap(0x3867200000, 2204544, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3867200000
mprotect(0x3867216000, 2093056, PROT_NONE) = 0
mmap(0x3867415000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x3867415000
mmap(0x3867417000, 13184, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3867417000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2afb3b91c000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2afb3b91d000
arch_prctl(ARCH_SET_FS, 0x2afb3b91d0a0) = 0
mprotect(0x3867415000, 4096, PROT_READ) = 0
mprotect(0x3864d41000, 16384, PROT_READ) = 0
mprotect(0x3607c09000, 4096, PROT_READ) = 0
mprotect(0x386481a000, 4096, PROT_READ) = 0
munmap(0x2afb3b911000, 4398           = 0
set_tid_address(0x2afb3b91d130)         = 23908
set_robust_list(0x2afb3b91d140, 0x1   = 0
futex(0x7fff1a0fd97c, FUTEX_WAKE_PRIVATE, 1) = 0
rt_sigaction(SIGRTMIN, {0x3867205300, [], SA_RESTORER|SA_SIGINFO, 0x386720e5d0}, NULL, = 0
rt_sigaction(SIGRT_1, {0x3867205370, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x386720e5d0}, NULL, = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
brk(0)                                  = 0x1d48d000
brk(0x1d4ae000)                         = 0x1d4ae000
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=56434224, ...}) = 0
mmap(NULL, 56434224, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2afb3b91e000
close(3)                                = 0
[fly]正常应该是在这一步进行调用的clock_gettime[/fly]
open("/etc/localtime", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2afb3eef0000
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\3\0\0\0\0"..., 4096) = 405
lseek(3, -240, SEEK_CUR)                = 165
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0\0\0\3\0\0\0\0"..., 4096) = 240
close(3)                                = 0
munmap(0x2afb3eef0000, 4096)            = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
fstat(1, {st_mode=S_IFREG|0644, st_size=4238, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2afb3eef0000
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=405, ...}) = 0
write(1, "Thu Jan  5 05:24:27 CST 2012\n", 29Thu Jan  5 05:24:27 CST 2012
) = 29
close(1)                                = 0
munmap(0x2afb3eef0000, 4096)            = 0
exit_group(0)                           = ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP