如何在Linux上以编程方式设置硬件时钟?

前端之家收集整理的这篇文章主要介绍了如何在Linux上以编程方式设置硬件时钟?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Linux提供stime(2)调用来设置系统时间.然而,虽然这会更新系统的时间,但它并没有设置BIOS硬件时钟来匹配新的系统时间.

Linux系统通常将硬件时钟与系统时间在关机时间和周期性间隔进行同步.但是,如果在这些自动同步之一之前机器重新启动电源,则机器重新启动时间将不正确.

设置系统时间时,如何确保硬件时钟更新?

解决方法

查看rtc手册页的详细信息,但是如果您以root身份登录,则会这样:
struct       rtc_time {
        int         tm_sec;      
        int         tm_min;      
        int         tm_hour;     
        int         tm_mday;     
        int         tm_mon;      
        int         tm_year;     
        int         tm_wday; /* unused */
        int         tm_yday; /* unused */
        int         tm_isdst;/* unused */
    };

struct rtc_time rt;
/* set your values here */
fd = open("/dev/rtc",O_RDONLY);
ioctl(fd,RTC_SET_TIME,&rt);
close(fd);

猜你在找的Linux相关文章