4

我想在 Linux 中以编程方式查找上次重新启动的时间。我在我的模块中使用 C 和 C++。

有 API 吗?

4

3 回答 3

5

您可以调用uptime或查看/proc/uptime. 给定当前时间,并知道系统启动了多长时间,您可以计算上次重新启动的时间。

或者,中的btime条目/proc/stat直接给出启动时间(自纪元以来的秒数)——man proc搜索btime.

于 2011-02-11T18:29:44.507 回答
1

没有直接的 api,但您可以读取/proc/uptime“文件”以了解系统已经运行了多少秒,从当前时间中减去该时间 - 并假设那是机器重新启动的时间。

/proc/uptime 这个文件包含两个数字:系统的正常运行时间(秒)和空闲进程所花费的时间(秒)。

于 2011-02-11T18:32:44.583 回答
0

此外,您可以通过阅读 /var/log/wtmp 文件找到上次重新启动时间。这是一个二进制文件,但您可以使用它(或您的 C 版本)进行解析

http://pastebin.com/nSVw82cZ

[警告!糟糕的编码风格!]

于 2011-02-11T19:04:33.747 回答