获取设置时间系统调用
2015-07-21 19:58
225 查看
名字 | 用处 |
---|---|
time_t time(time_t *t) | 获取系统时间,获取的为秒数 |
int stime(time_t *t) | 设置系统时间,设置的为秒数 |
int gettimeofday(struct timeval *tv,struct timezone *tz) | 设置系统时间,可获取秒数与微秒数 |
int settimeofday(struct timeval *tv,struct timezone *tz) | 设置系统时间,可设置秒数与微秒数 |
在debian linux的man页中对gettimeofday函数的说明中,有这样一个说明: DESCRIPTION The functions gettimeofday and settimeofday can get and set the time as well as a timezone. The tv argument is a timeval struct, as specified in <sys/time.h>: struct timeval { time_t tv_sec; /* seconds */ suseconds_t tv_usec; /* microseconds */ }; 其中对tv_usec的说明为时间的毫秒部分。 而在实际中,该函数以及Linux内核返回的timeval 类型的时间值,tv_usec代表的是微秒精度(10的-6次方秒)。
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。
相关文章推荐
- 应届生简历中常出现的问题
- Java 知识总结
- wpf 异步加载 只需6段代码
- 链表 插入排序
- HDU 5289 Assignment(2015多校训练)
- CoordinatorLayout与滚动的处理
- NSArray - 常用方法总结
- 两种视频播放形式和 视频截图
- [USACO 2012OPEN] Balanced Cow Subsets(meet in the middle + DFS)
- 大数模板
- 基于NodeJS进行前后端分离
- mongo配置副本集(replicaSet)
- Objective-C的对象模型和runtime机制
- 百练2755 神奇的口袋 背包水
- C语言 数组、函数应用实例篇
- Mac下修改环境变量
- Laravel 5基础教程(一)安装与部署 - 表严肃
- hdoj-2709-Sumsets【规律】
- 计算机网络基础知识(笔试题)
- 文件的写与读