使用strace跟踪hwclock的结果,版主帮我分析一下
execve("/sbin/hwclock", ["hwclock"], [/* 9 vars */]) = 0
uname({sys="Linux", node="FriendlyARM", ...}) = 0
fcntl64(0, F_GETFD) = 0
fcntl64(1, F_GETFD) = 0
fcntl64(2, F_GETFD) = 0
geteuid32() = 0
getuid32() = 0
getegid32() = 0
getgid32() = 0
brk(0) = 0x2cb000
brk(0x2cc000) = 0x2cc000
getuid32() = 0
getgid32() = 0
setgid32(0) = 0
setuid32(0) = 0
open("/var/lib/hwclock/adjtime", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/dev/rtc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/dev/misc/rtc", O_RDONLY|O_LARGEFILE) = 3
ioctl(3, RTC_RD_TIME, {tm_sec=29, tm_min=38, tm_hour=16, tm_mday=13, tm_mon=3, tm_year=110, ...}) = 0
close(3) = 0
open("/etc/localtime", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(5, 1), ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40000000
write(1, "Tue Apr 13 16:38:29 2010 0.0000"..., 43Tue Apr 13 16:38:29 2010 0.000000 seconds
) = 43
munmap(0x400000, 4096) = 0
exit_group(0) = ?
Process 377 detached
前边这种使用ioctl(3, RTC_RD_TIME, {tm_sec=29, tm_min=38, tm_hour=16, tm_mday=13, tm_mon=3, tm_year=110, ...}) = 0
和我使用的办法一样,没有得到周信息,后面这两行
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(5, 1), ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE or TCGETS, {B115200 opost isig icanon echo ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40000000
好像比较有用,希望楼主帮忙看看,谢谢!