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

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

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

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

解决方法

查看rtc手册页的详细信息,但是如果您以root身份登录,则会这样:
  1. struct rtc_time {
  2. int tm_sec;
  3. int tm_min;
  4. int tm_hour;
  5. int tm_mday;
  6. int tm_mon;
  7. int tm_year;
  8. int tm_wday; /* unused */
  9. int tm_yday; /* unused */
  10. int tm_isdst;/* unused */
  11. };
  12.  
  13. struct rtc_time rt;
  14. /* set your values here */
  15. fd = open("/dev/rtc",O_RDONLY);
  16. ioctl(fd,RTC_SET_TIME,&rt);
  17. close(fd);

猜你在找的Linux相关文章