获取内核模块中的当前时间(秒)

时间:2012-11-25 15:42:03

标签: c time linux-kernel kernel-module

在内核模块中以秒为单位(从纪元开始)获取当前时间的标准方法是什么?

我已经看到了涉及获取xtime的技术,这些技术非常冗长且涉及while循环和锁定。必须有更好的方法。

[这不是重复的。我已经查看了之前的问题。许多这些的答案要么没有指定使用的函数,要么错误地引用内核中不允许的time.h。

1 个答案:

答案 0 :(得分:16)

您可以使用getnstimeofday

/* getnstimeofday - Returns the time of day in a timespec */
void getnstimeofday(struct timespec *ts)

其中struct timespec是:

struct timespec {
    time_t  tv_sec;     /* seconds */
    long    tv_nsec;    /* nanoseconds */
};

是的,你需要#include <linux/time.h>