gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 13:01:01 35 4
gpt4 key购买 nike

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

[   11.947248] fsl-gianfar ffe24000.ethernet eth0: Link is Up

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

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

clock_gettime(CLOCK_REALTIME, &ts);
clock_gettime(CLOCK_MONOTONIC, &ts);

当使用 gettimeofday 时,您将获得自 Unix 纪元以来的时间...这与定义不匹配。

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


更新:It seems clock_gettime(CLOCK_REALTIME, &ts) 应该做我想做的……但是 eglibc 似乎返回 CLOCK_MONOTONIC

最佳答案

这个想法是首先找到你的 CLOCK_MONOTONIC 的偏移量。只需阅读一次 /proc/uptime 即可。然后使用偏移量和 CLOCK_MONOTONIC 打印每个记录事件的时间。

关于linux - eglibc:以毫秒为单位获得正常运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33876254/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com