首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >eglibc:以毫秒为单位获得正常运行时间

eglibc:以毫秒为单位获得正常运行时间
EN

Stack Overflow用户
提问于 2015-11-23 16:46:46
回答 1查看 690关注 0票数 0

我想以与内核日志相同的格式编写日志输出:

代码语言:javascript
复制
[   11.947248] fsl-gianfar ffe24000.ethernet eth0: Link is Up

时间戳应该与内核时间具有相同的时间引用。这意味着,当日志消息在内核中同时发出时,时间戳应该具有相同的值。

clock_gettime有一个未定义的时钟起始点--因此每个程序的时间戳都有不同的值--即使它们是同时创建的:

代码语言:javascript
复制
clock_gettime(CLOCK_REALTIME, &ts);
clock_gettime(CLOCK_MONOTONIC, &ts);

当你使用gettimeofday时,你会得到自Unix时代以来的时间.这在定义上不匹配。

函数localtime()返回正常运行时间-但粒度是秒-但我需要更多.

看起来 clock_gettime(CLOCK_REALTIME, &ts)应该做我想做的事..。但是eglibc似乎返回了CLOCK_MONOTONIC

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-26 14:01:43

这个想法是首先为您的CLOCK_MONOTONIC找到偏移量。只要读一次/proc/uptime就可以了。然后使用偏移量和CLOCK_MONOTONIC打印每个日志事件的时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33876254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档