Linux下精确控制时间的函数】的更多相关文章

Linux下精确控制时间的函数 在测试程序接口运行时间的时候,常用time,gettimeofday等函数,但是这些函数在程序执行的时候是耗费时间的,如果仅仅测试时间还行,但是如果程序中用到时间控制类的函数,如time,  gettimeofday自身还会消耗不少时间,且增加程序执行的成本,这样得到的时间不精确. 针对这种情况,使用CPU心跳的函数来处理时间,经封装后的函数得到时间精确,且使用方便. 缺点:有一些机子由于硬件原因,可能不支持CPU心跳rdtscpll函数的使用,一般在虚拟机上都不…
Linux下系统时间函数.DST等相关问题总结 下面这个结构体存储了跟时区相关的位移量(offset)以及是否存在DST等信息,根据所在的时区信息,很容易找到系统时间与UTC时间之间的时区偏移,另外根据rule是否为-1来确定此时区是否实施了夏令时,若为-1,表明这个时区地已经实现了夏令时,则还需要经过去DST阶段,否则只需要经过去时区就可以得到UTC时间. struct zone zones[N_ZONES] = { /* offset rules */ { -43200, -1 }, /*…
Linux下长时间ping网络加时间戳并记录到文本   由于一些原因,比如需要检查网络之间是否存在掉包等问题,会长时间去ping一个地址,由于会输出大量的信息而且最好要有时间戳,因此我们可以使用简单的几个shell命令组合就可以实现:长时间ping一个地址,记录每次ping的时间戳,并输出到文本保存,另外我们还可以将这个动作放到后台去执行,以免登陆注销之后被中断.   首先是长时间ping,这个非常简单,使用参数-c即可:  [root@test ~]# ping 192.168.2.1 -c…
Linux下设置时间 提供两种最根本有效的方式,就是更改时区.这里以更改为国内上海时间例子,其他地方时区同理. 方法一 备份文件 mv /etc/localtime /etc/localtime.bak 复制时区文件 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 这里选择了亚洲下的上海时区,可ls查看各文件夹下的时区文件. 3.重启系统 4.查看当前时间 date 是否已经是正确时间啦.一般建议使用第二种建立链接方式 方法二 备份文件 m…
今天在公司代码中看到了使用select函数的超时功能作定时器的用法,便整理了如下几个Linux下的微秒级别的定时器.在我的Ubutu10.10 双核环境中,编译通过. /* * @FileName: test_sleep.c * @Author: wzj * @Brief: * * * @History: * * @Date: 2012年02月07日星期二22:20:00 * */ #include<stdio.h> #include<stdlib.h> #include<t…
Linux下,printf函数必须以'\n'结尾才会立刻输出到屏幕,如果没有'\n'直到输出缓冲区满了以后才会打印到屏幕上(敲击换行也算),如果需要不换行的输出,一般可以使用write函数代替.'\n'有清空缓存的作用…
1.linux下时间管理机制: 在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现.为了保持系统时间与CMOS时间的一致性,Linux每隔11分钟会将系统时间写入CMOS,同步时间. 从这可以看出,获取系统时间有两个途径,一种是从CMOS中读,一种是从系统中读,但修改时间却只有一种,即修改linux系统中的时间,而修改CMOS中的时间是无效的,因为CMOS中的时间会被定时重写掉. 另外还有一点要注意,修改了系统时间并不是马上生效的.2.查看系统…
在嵌入式编程中中.常常须要输出系统的当前时间.计算程序的运行时间.使用计时器等.近期也做了不少关于时间的操作.今天就认真总结一下,部分内容是在网上看到的.自己经过验证总结出来. 1.时间的类型 1.格林威治标准时间    coordinated universal time(UTC)是世界标准时间,即常说的格林威治标准时间(greenwich mean time,GMT). 2.日历时间    日历时间(calendar time)是用"一个标准时间点(如1970年1月1日0点)到此时经过的秒数…
linux下,system函数和execl函数都是用于执行一条系统命令.今天仔细看了system函数的实现,想找出和execl函数的差别. 这里先进行一些背景知识补充: fork(创建一个新的进程): 定义函数  pid_t fork(void); 函数说明  fork()会产生一个新的子进程,其子进程会复制父进程的数据与堆栈空间,并继承父进程的用户代码,组代码,环境变量.已打开的文件代码.工作目录和资源限制等. 返回值    如果fork()成功则在父进程会返回新建立的子进程代码(PID),而…
在RHEL下,如果只装英文版系统,设置好时区以后(上海时间,UTC) 在命令行下用date命令查看,总是与实际的北京时间差8小时,其实硬件时间都是准确的.会带来视觉不便. 今天下决心解决此问题,不过也没费时,有人写好了. http://www.opsers.org/linux-home/base/talk-about-rhel6-system-issues-an-eight-hour-time-difference.html 方法很简单: 复制正确时区文件 cp /usr/share/zonei…