您的位置 首页 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);

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章